[Vm-dev] [commit][3350] CogVM source as per VMMaker.oscog-eem.1315

commits at squeakvm.org commits at squeakvm.org
Tue May 19 01:13:57 UTC 2015


Revision: 3350
Author:   eliot
Date:     2015-05-18 18:13:54 -0700 (Mon, 18 May 2015)
Log Message:
-----------
CogVM source as per VMMaker.oscog-eem.1315

Slang:
Do a more thorough job of transforming complex to:[by:]do: loops so that the
limit expression is only evaluated once, not on each iteration of the loop.

Fix regression in read-before-written code when
rewriting to only initialize simple types.

Cogit:
Fix ARM-only regression in StackToRegisterMappingCogit's
PIC aborts when the SimpleStackBasedCogit was fixed.

Modified Paths:
--------------
    branches/Cog/nsspursrc/plugins/B2DPlugin/B2DPlugin.c
    branches/Cog/nsspursrc/plugins/BitBltPlugin/BitBltPlugin.c
    branches/Cog/nsspursrc/plugins/FilePlugin/FilePlugin.c
    branches/Cog/nsspursrc/plugins/Win32OSProcessPlugin/Win32OSProcessPlugin.c
    branches/Cog/nsspursrc/vm/cogit.h
    branches/Cog/nsspursrc/vm/cogitARMv5.c
    branches/Cog/nsspursrc/vm/cogitIA32.c
    branches/Cog/nsspursrc/vm/cointerp.c
    branches/Cog/nsspursrc/vm/cointerp.h
    branches/Cog/nsspursrc/vm/gcc3x-cointerp.c
    branches/Cog/nsspurstack64src/vm/gcc3x-interp.c
    branches/Cog/nsspurstack64src/vm/interp.c
    branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c
    branches/Cog/nsspurstacksrc/vm/interp.c
    branches/Cog/spursistasrc/vm/cogit.h
    branches/Cog/spursistasrc/vm/cogitARMv5.c
    branches/Cog/spursistasrc/vm/cogitIA32.c
    branches/Cog/spursistasrc/vm/cointerp.c
    branches/Cog/spursistasrc/vm/cointerp.h
    branches/Cog/spursistasrc/vm/gcc3x-cointerp.c
    branches/Cog/spursrc/vm/cogit.h
    branches/Cog/spursrc/vm/cogitARMv5.c
    branches/Cog/spursrc/vm/cogitIA32.c
    branches/Cog/spursrc/vm/cointerp.c
    branches/Cog/spursrc/vm/cointerp.h
    branches/Cog/spursrc/vm/gcc3x-cointerp.c
    branches/Cog/spurstack64src/vm/gcc3x-interp.c
    branches/Cog/spurstack64src/vm/interp.c
    branches/Cog/spurstacksrc/vm/gcc3x-interp.c
    branches/Cog/spurstacksrc/vm/interp.c
    branches/Cog/src/plugins/B2DPlugin/B2DPlugin.c
    branches/Cog/src/plugins/BitBltPlugin/BitBltPlugin.c
    branches/Cog/src/plugins/BochsIA32Plugin/BochsIA32Plugin.c
    branches/Cog/src/plugins/FilePlugin/FilePlugin.c
    branches/Cog/src/plugins/GdbARMPlugin/GdbARMPlugin.c
    branches/Cog/src/plugins/Mpeg3Plugin/Mpeg3Plugin.c
    branches/Cog/src/plugins/SoundCodecPrims/SoundCodecPrims.c
    branches/Cog/src/plugins/Win32OSProcessPlugin/Win32OSProcessPlugin.c
    branches/Cog/src/vm/cogit.h
    branches/Cog/src/vm/cogitARMv5.c
    branches/Cog/src/vm/cogitIA32.c
    branches/Cog/src/vm/cointerp.c
    branches/Cog/src/vm/cointerp.h
    branches/Cog/src/vm/cointerpmt.c
    branches/Cog/src/vm/cointerpmt.h
    branches/Cog/src/vm/gcc3x-cointerp.c
    branches/Cog/src/vm/gcc3x-cointerpmt.c
    branches/Cog/stacksrc/vm/gcc3x-interp.c
    branches/Cog/stacksrc/vm/interp.c

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

Modified: branches/Cog/nsspursrc/plugins/B2DPlugin/B2DPlugin.c
===================================================================
--- branches/Cog/nsspursrc/plugins/B2DPlugin/B2DPlugin.c	2015-05-18 01:20:04 UTC (rev 3349)
+++ branches/Cog/nsspursrc/plugins/B2DPlugin/B2DPlugin.c	2015-05-19 01:13:54 UTC (rev 3350)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	VMPluginCodeGenerator VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae
+	VMPluginCodeGenerator VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710
    from
-	BalloonEnginePlugin VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae
+	BalloonEnginePlugin VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710
  */
-static char __buildInfo[] = "BalloonEnginePlugin VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae " __DATE__ ;
+static char __buildInfo[] = "BalloonEnginePlugin VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710 " __DATE__ ;
 
 
 
@@ -836,9 +836,9 @@
 static void * loadBBFn;
 static const char *moduleName =
 #ifdef SQUEAK_BUILTIN_PLUGIN
-	"B2DPlugin VMMaker.oscog-eem.1313 (i)"
+	"B2DPlugin VMMaker.oscog-eem.1315 (i)"
 #else
-	"B2DPlugin VMMaker.oscog-eem.1313 (e)"
+	"B2DPlugin VMMaker.oscog-eem.1315 (e)"
 #endif
 ;
 static int* objBuffer;
@@ -11962,6 +11962,7 @@
 {
     sqInt aaLevel;
 
+	aaLevel = 0;
 	if (level >= 4) {
 		aaLevel = 4;
 	}

Modified: branches/Cog/nsspursrc/plugins/BitBltPlugin/BitBltPlugin.c
===================================================================
--- branches/Cog/nsspursrc/plugins/BitBltPlugin/BitBltPlugin.c	2015-05-18 01:20:04 UTC (rev 3349)
+++ branches/Cog/nsspursrc/plugins/BitBltPlugin/BitBltPlugin.c	2015-05-19 01:13:54 UTC (rev 3350)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	SmartSyntaxPluginCodeGenerator VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae
+	SmartSyntaxPluginCodeGenerator VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710
    from
-	BitBltSimulation VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae
+	BitBltSimulation VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710
  */
-static char __buildInfo[] = "BitBltSimulation VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae " __DATE__ ;
+static char __buildInfo[] = "BitBltSimulation VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710 " __DATE__ ;
 
 
 
@@ -344,9 +344,9 @@
 };
 static const char *moduleName =
 #ifdef SQUEAK_BUILTIN_PLUGIN
-	"BitBltPlugin VMMaker.oscog-eem.1313 (i)"
+	"BitBltPlugin VMMaker.oscog-eem.1315 (i)"
 #else
-	"BitBltPlugin VMMaker.oscog-eem.1313 (e)"
+	"BitBltPlugin VMMaker.oscog-eem.1315 (e)"
 #endif
 ;
 static sqInt noHalftone;
@@ -5027,6 +5027,7 @@
 	sqInt val;
 	sqInt _return_value;
 
+	val = 0;
 	colorA = (BytesPerOop == 4
 		? positive32BitValueOf(stackValue(2))
 		: positive64BitValueOf(stackValue(2)));

Modified: branches/Cog/nsspursrc/plugins/FilePlugin/FilePlugin.c
===================================================================
--- branches/Cog/nsspursrc/plugins/FilePlugin/FilePlugin.c	2015-05-18 01:20:04 UTC (rev 3349)
+++ branches/Cog/nsspursrc/plugins/FilePlugin/FilePlugin.c	2015-05-19 01:13:54 UTC (rev 3350)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	VMPluginCodeGenerator VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae
+	VMPluginCodeGenerator VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710
    from
-	FilePlugin VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae
+	FilePlugin VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710
  */
-static char __buildInfo[] = "FilePlugin VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae " __DATE__ ;
+static char __buildInfo[] = "FilePlugin VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710 " __DATE__ ;
 
 
 
@@ -177,9 +177,9 @@
 struct VirtualMachine* interpreterProxy;
 static const char *moduleName =
 #ifdef SQUEAK_BUILTIN_PLUGIN
-	"FilePlugin VMMaker.oscog-eem.1313 (i)"
+	"FilePlugin VMMaker.oscog-eem.1315 (i)"
 #else
-	"FilePlugin VMMaker.oscog-eem.1313 (e)"
+	"FilePlugin VMMaker.oscog-eem.1315 (e)"
 #endif
 ;
 static void * sCCPfn;
@@ -471,6 +471,10 @@
     sqInt requestedName;
     sqInt status;
 
+	createDate = 0;
+	dirFlag = 0;
+	entryNameSize = 0;
+	modifiedDate = 0;
 	requestedName = stackValue(0);
 	pathName = stackValue(1);
 	if (!(isBytes(pathName))) {
@@ -576,6 +580,10 @@
     sqInt pathNameSize;
     sqInt status;
 
+	createDate = 0;
+	dirFlag = 0;
+	entryNameSize = 0;
+	modifiedDate = 0;
 	index = stackIntegerValue(0);
 	pathName = stackValue(1);
 	if (!(isBytes(pathName))) {

Modified: branches/Cog/nsspursrc/plugins/Win32OSProcessPlugin/Win32OSProcessPlugin.c
===================================================================
--- branches/Cog/nsspursrc/plugins/Win32OSProcessPlugin/Win32OSProcessPlugin.c	2015-05-18 01:20:04 UTC (rev 3349)
+++ branches/Cog/nsspursrc/plugins/Win32OSProcessPlugin/Win32OSProcessPlugin.c	2015-05-19 01:13:54 UTC (rev 3350)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	VMPluginCodeGenerator VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae
+	VMPluginCodeGenerator VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710
    from
 	Win32OSProcessPlugin VMConstruction-Plugins-OSProcessPlugin.oscog-eem.50 uuid: 67b1e805-4efd-476c-8cf3-b4a5e14e22a9
  */
@@ -1856,6 +1856,7 @@
     sqInt index;
     struct {int index; HANDLE handle;} *threadArgs;
 
+	index = 0;
 	threadArgs = args;
 	index = threadArgs->index;
 	handle = threadArgs->handle;

Modified: branches/Cog/nsspursrc/vm/cogit.h
===================================================================
--- branches/Cog/nsspursrc/vm/cogit.h	2015-05-18 01:20:04 UTC (rev 3349)
+++ branches/Cog/nsspursrc/vm/cogit.h	2015-05-19 01:13:54 UTC (rev 3350)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGenerator VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae
+	CCodeGenerator VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710
  */
 
 

Modified: branches/Cog/nsspursrc/vm/cogitARMv5.c
===================================================================
--- branches/Cog/nsspursrc/vm/cogitARMv5.c	2015-05-18 01:20:04 UTC (rev 3349)
+++ branches/Cog/nsspursrc/vm/cogitARMv5.c	2015-05-19 01:13:54 UTC (rev 3350)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGenerator VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae
+	CCodeGenerator VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710
    from
-	StackToRegisterMappingCogit VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae
+	StackToRegisterMappingCogit VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710
  */
-static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae " __DATE__ ;
+static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710 " __DATE__ ;
 char *__cogitBuildInfo = __buildInfo;
 
 
@@ -10696,9 +10696,9 @@
 	genoperandoperand(CmpCqR, 0, ClassReg);
 	/* begin JumpZero: */
 	jumpMNUCase = genoperand(JumpZero, ((sqInt)0));
-	compileTrampolineFornumArgsargargargargsaveRegspushLinkRegresultReg(ceInterpretMethodFromPICreceiver, 2, SendNumArgsReg, ReceiverResultReg, null, null, 0, 1, null);
+	compileTrampolineFornumArgsargargargargsaveRegspushLinkRegresultReg(ceInterpretMethodFromPICreceiver, 2, SendNumArgsReg, ReceiverResultReg, null, null, 0, 0, null);
 	jmpTarget(jumpMNUCase, gLabel());
-	return genTrampolineForcallednumArgsargargargargsaveRegspushLinkRegresultRegappendOpcodes(ceMNUFromPICMNUMethodreceiver, name, 2, SendNumArgsReg, ReceiverResultReg, null, null, 0, 1, null, 1);
+	return genTrampolineForcallednumArgsargargargargsaveRegspushLinkRegresultRegappendOpcodes(ceMNUFromPICMNUMethodreceiver, name, 2, SendNumArgsReg, ReceiverResultReg, null, null, 0, 0, null, 1);
 }
 
 static sqInt
@@ -11559,6 +11559,7 @@
     sqInt result;
     sqInt val;
 
+	val = 0;
 	hasYoungObj = 0;
 	hasYoungObjPtr = ((sqInt)((&hasYoungObj)));
 	codeModified = (freedPIC = 0);
@@ -11755,6 +11756,7 @@
     sqInt result;
     sqInt val;
 
+	val = 0;
 	hasYoungObj = 0;
 	hasYoungObjPtr = ((sqInt)((&hasYoungObj)));
 	codeModified = 0;
@@ -11876,6 +11878,8 @@
     sqInt val;
     sqInt val1;
 
+	val = 0;
+	val1 = 0;
 	if (leakCheckFullGC()) {
 		assert(allMachineCodeObjectReferencesValid());
 	}
@@ -20372,6 +20376,7 @@
     sqInt savedNumArgs;
     sqInt savedNumTemps;
 
+	initialIndexOfIRC = 0;
 	assert(blockCount > 0);
 	savedNeedsFrame = needsFrame;
 	savedNumArgs = methodOrBlockNumArgs;

Modified: branches/Cog/nsspursrc/vm/cogitIA32.c
===================================================================
--- branches/Cog/nsspursrc/vm/cogitIA32.c	2015-05-18 01:20:04 UTC (rev 3349)
+++ branches/Cog/nsspursrc/vm/cogitIA32.c	2015-05-19 01:13:54 UTC (rev 3350)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGenerator VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae
+	CCodeGenerator VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710
    from
-	StackToRegisterMappingCogit VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae
+	StackToRegisterMappingCogit VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710
  */
-static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae " __DATE__ ;
+static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710 " __DATE__ ;
 char *__cogitBuildInfo = __buildInfo;
 
 
@@ -9453,9 +9453,9 @@
 	genoperandoperand(CmpCqR, 0, ClassReg);
 	/* begin JumpZero: */
 	jumpMNUCase = genoperand(JumpZero, ((sqInt)0));
-	compileTrampolineFornumArgsargargargargsaveRegspushLinkRegresultReg(ceInterpretMethodFromPICreceiver, 2, SendNumArgsReg, ReceiverResultReg, null, null, 0, 1, null);
+	compileTrampolineFornumArgsargargargargsaveRegspushLinkRegresultReg(ceInterpretMethodFromPICreceiver, 2, SendNumArgsReg, ReceiverResultReg, null, null, 0, 0, null);
 	jmpTarget(jumpMNUCase, gLabel());
-	return genTrampolineForcallednumArgsargargargargsaveRegspushLinkRegresultRegappendOpcodes(ceMNUFromPICMNUMethodreceiver, name, 2, SendNumArgsReg, ReceiverResultReg, null, null, 0, 1, null, 1);
+	return genTrampolineForcallednumArgsargargargargsaveRegspushLinkRegresultRegappendOpcodes(ceMNUFromPICMNUMethodreceiver, name, 2, SendNumArgsReg, ReceiverResultReg, null, null, 0, 0, null, 1);
 }
 
 static sqInt
@@ -10326,6 +10326,7 @@
     sqInt result;
     sqInt val;
 
+	val = 0;
 	hasYoungObj = 0;
 	hasYoungObjPtr = ((sqInt)((&hasYoungObj)));
 	codeModified = (freedPIC = 0);
@@ -10522,6 +10523,7 @@
     sqInt result;
     sqInt val;
 
+	val = 0;
 	hasYoungObj = 0;
 	hasYoungObjPtr = ((sqInt)((&hasYoungObj)));
 	codeModified = 0;
@@ -10643,6 +10645,8 @@
     sqInt val;
     sqInt val1;
 
+	val = 0;
+	val1 = 0;
 	if (leakCheckFullGC()) {
 		assert(allMachineCodeObjectReferencesValid());
 	}
@@ -19132,6 +19136,7 @@
     sqInt savedNumArgs;
     sqInt savedNumTemps;
 
+	initialIndexOfIRC = 0;
 	assert(blockCount > 0);
 	savedNeedsFrame = needsFrame;
 	savedNumArgs = methodOrBlockNumArgs;

Modified: branches/Cog/nsspursrc/vm/cointerp.c
===================================================================
--- branches/Cog/nsspursrc/vm/cointerp.c	2015-05-18 01:20:04 UTC (rev 3349)
+++ branches/Cog/nsspursrc/vm/cointerp.c	2015-05-19 01:13:54 UTC (rev 3350)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710
    from
-	CoInterpreter VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae
+	CoInterpreter VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2380,7 +2380,7 @@
 /*560*/	-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0,-1,-1
 	};
 char expensiveAsserts = 0;
-const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.1313";
+const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.1315";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */;
 volatile int sendTrace;
 
@@ -6046,6 +6046,7 @@
 					sqInt table;
 
 					VM_LABEL(commonSend);
+					nArgs = 0;
 					savedFramePointer = 0;
 					savedStackPointer = 0;
 					/* begin sendBreakpoint:receiver: */
@@ -8956,6 +8957,7 @@
 				sqInt totalLength1;
 
 				VM_LABEL(bytecodePrimAt);
+				objOop = 0;
 				result = 0;
 				index = longAtPointer(localSP);
 				rcvr = longAtPointer(localSP + (1 * BytesPerOop));
@@ -11577,6 +11579,7 @@
 				sqInt totalLength1;
 
 				VM_LABEL(bytecodePrimAt1);
+				objOop = 0;
 				result = 0;
 				index = longAtPointer(localSP);
 				rcvr = longAtPointer(localSP + (1 * BytesPerOop));
@@ -13435,6 +13438,7 @@
 				sqInt tagBits;
 
 				VM_LABEL(commonSendAbsentImplicit);
+				nArgs = 0;
 				savedFramePointer = 0;
 				savedStackPointer = 0;
 				localAbsentReceiver = implicitReceiverFormixinimplementing(longAt(localFP + FoxIFReceiver), methodClassOf(GIV(method)), GIV(messageSelector));
@@ -13854,6 +13858,7 @@
 				sqInt tagBits;
 
 				VM_LABEL(extSendAbsentDynamicSuperBytecode);
+				nArgs = 0;
 				savedFramePointer = 0;
 				savedStackPointer = 0;
 				byte = byteAtPointer(++localIP);
@@ -14433,6 +14438,7 @@
 				sqInt tagBits;
 
 				VM_LABEL(extSendAbsentSelfBytecode);
+				nArgs = 0;
 				savedFramePointer = 0;
 				savedStackPointer = 0;
 				byte = byteAtPointer(++localIP);
@@ -14997,6 +15003,7 @@
 				sqInt tagBits;
 
 				VM_LABEL(extSendAbsentOuterBytecode);
+				nArgs = 0;
 				savedFramePointer = 0;
 				savedStackPointer = 0;
 				byte = byteAtPointer(++localIP);
@@ -15775,7 +15782,7 @@
     CogMethod *cogMethod;
     sqInt methodField;
     sqInt methodField1;
-    sqInt theIP;
+    usqInt theIP;
 
 	assertl(GIV(stackPage) == (mostRecentlyUsedPage()), ln);
 	assertl(addressIsInPage(GIV(stackPage), lifp), ln);
@@ -20024,6 +20031,7 @@
     char *savedFramePointer;
     char *savedStackPointer;
 
+	nArgs = 0;
 	savedFramePointer = 0;
 	savedStackPointer = 0;
 	assertCStackWellAligned();
@@ -26335,6 +26343,7 @@
     char *savedFramePointer;
     char *savedStackPointer;
 
+	nArgs = 0;
 	savedFramePointer = 0;
 	savedStackPointer = 0;
 	if (recordPrimTrace()) {
@@ -30227,6 +30236,7 @@
     sqInt copyHashFlag;
     sqInt ec;
 
+	copyHashFlag = 0;
 	if ((longAt(GIV(stackPointer))) == GIV(trueObj)) {
 		copyHashFlag = 1;
 	}
@@ -30259,6 +30269,7 @@
     sqInt reasonCode;
     char *sp;
 
+	objOop = 0;
 	characterCode = longAt(GIV(stackPointer));
 	if (!(((characterCode & 1))
 		 && (((characterCode = (characterCode >> 1)),
@@ -30327,6 +30338,7 @@
     sqInt stSize;
     sqInt totalLength;
 
+	objOop = 0;
 	/* begin commonAt: */
 	/* begin initPrimCall */
 	GIV(primFailCode) = 0;
@@ -30739,6 +30751,7 @@
 	depth = 0;
 	extentX = 0;
 	extentY = 0;
+	i = 0;
 	maskBitsIndex = 0;
 	maskObj = 0;
 	offsetObj = 0;
@@ -31926,7 +31939,9 @@
     sqInt v1;
     sqInt v2;
 
+	midx = 0;
 	msecs = 0;
+	uidx = 0;
 	usecs = 0;
 	if (GIV(argumentCount) != 1) {
 		/* begin primitiveFail */
@@ -33171,7 +33186,7 @@
     sqInt arg;
     sqInt fmt;
     sqInt i;
-    usqInt length;
+    sqInt length;
     usqInt numBytes;
     usqInt numSlots;
     usqInt numSlots1;
@@ -33212,18 +33227,18 @@
 
 			/* bytes (the common case), including CompiledMethod */
 
-			length = ((sqInt) (numBytes - (fmt & 7)));
+			length = numBytes - (fmt & 7);
 			goto l1;
 		}
 		if (fmt <= 9) {
-			length = ((sqInt) numBytes);
+			length = numBytes;
 			goto l1;
 		}
 		if (fmt >= 12) {
-			length = ((sqInt) (numBytes - ((fmt & 3) << 1)));
+			length = numBytes - ((fmt & 3) << 1);
 			goto l1;
 		}
-		length = ((sqInt) (numBytes - ((fmt & 1) << 2)));
+		length = numBytes - ((fmt & 1) << 2);
 	l1:	/* end numBytesOf: */;
 		if (!((((((usqInt) (longAt(rcvr))) >> 24) & 0x1F) == ((((usqInt) (longAt(arg))) >> 24) & 0x1F))
 			 && (length == (numBytesOf(arg))))) {
@@ -33241,9 +33256,9 @@
 		flag("endianness");
 		assert((classIndexOf(rcvr)) > (isForwardedObjectClassIndexPun()));
 		numSlots1 = byteAt(rcvr + 7);
-		length = (numSlots1 == 0xFF
-			? longAt(rcvr - BaseHeaderSize)
-			: numSlots1);
+		length = ((usqInt) ((numSlots1 == 0xFF
+	? longAt(rcvr - BaseHeaderSize)
+	: numSlots1)));
 		if (!((isAppropriateForCopyObject(arg))
 			 && (length == (lengthOfformat(arg, (((usqInt) (longAt(arg))) >> 24) & 0x1F))))) {
 			(GIV(primFailCode) = PrimErrBadArgument);
@@ -37267,6 +37282,7 @@
     char *sp1;
     sqInt spaceOkay;
 
+	spaceOkay = 0;
 	
 	/* Allocate a new fixed-size instance.  Fail if the allocation would leave
 	   less than lowSpaceThreshold bytes free. This *will not* cause a GC :-) */
@@ -37534,6 +37550,7 @@
     sqInt spaceOkay;
     sqInt value;
 
+	spaceOkay = 0;
 	/* begin positiveMachineIntegerValueOf: */
 	oop1 = longAt(GIV(stackPointer));
 	if ((oop1 & 1)) {
@@ -40386,6 +40403,7 @@
     sqInt stSize;
     sqInt totalLength;
 
+	objOop = 0;
 	/* begin commonAt: */
 	/* begin initPrimCall */
 	GIV(primFailCode) = 0;
@@ -45311,7 +45329,7 @@
     sqInt ptr2;
     sqInt slotBytes;
     usqInt smallObj;
-    usqInt start;
+    sqInt start;
 
 	classIndex = (long32At(aClass + 4)) & 0x3FFFFF;
 	if (classIndex == 0) {
@@ -48910,6 +48928,7 @@
     sqInt referent2;
     sqInt startOfFreeRun;
 
+	endOfFreeRun = 0;
 	startOfFreeRun = 0;
 	assert(!(isForwarded(GIV(nilObj))));
 	assert(!(isForwarded(GIV(falseObj))));
@@ -63576,6 +63595,7 @@
     sqInt segAddress1;
     sqInt segIndex;
 
+	allocatedSize = 0;
 	newSegIndex = 0;
 	null;
 	segAddress = sqAllocateMemorySegmentOfSizeAboveAllocatedSizeInto(ammount, firstGapOfSizeAtLeast(ammount), (&allocatedSize));
@@ -64268,7 +64288,7 @@
     usqLong firstSavedBridgeWord;
     sqInt nWritten;
     usqInt pier1;
-    usqInt pier2;
+    sqInt pier2;
     usqLong secondSavedBridgeWord;
 
 	pier1 = (((segment->segSize)) + ((segment->segStart))) - (2 * BaseHeaderSize);
@@ -64618,6 +64638,7 @@
 {
     sqInt objOop;
 
+	objOop = 0;
 	return (CharacterTable == null
 		? (ascii << 2) + 2
 		: (/* begin fetchPointer:ofObject: */
@@ -67454,17 +67475,19 @@
 {
     sqInt oop;
     char *ptr;
+    char * toDoLimit1;
+    char * toDoLimit2;
 
-	for (ptr = theSP; ptr <= (frameReceiverLocation(theFP)); ptr += BytesPerWord) {
+	for (ptr = theSP, toDoLimit1 = (frameReceiverLocation(theFP)); ptr <= toDoLimit1; ptr += BytesPerWord) {
 		oop = longAt(ptr);
 		if (((oop & 3) == 0)
 		 && (((longAt(oop)) & (0x3FFFFF - 8)) == 0)) {
 			longAtput(ptr, followForwarded(oop));
 		}
 	}
-	for (ptr = ((theFP + FoxCallerSavedIP) + BytesPerWord); ptr <= (theFP + (frameStackedReceiverOffsetNumArgs(((((usqInt)(longAt(theFP + FoxMethod)))) < (startOfMemory())
+	for (ptr = ((theFP + FoxCallerSavedIP) + BytesPerWord), toDoLimit2 = (theFP + (frameStackedReceiverOffsetNumArgs(((((usqInt)(longAt(theFP + FoxMethod)))) < (startOfMemory())
 	? ((mframeCogMethod(theFP))->cmNumArgs)
-	: byteAt((theFP + FoxIFrameFlags) + 1))))); ptr += BytesPerWord) {
+	: byteAt((theFP + FoxIFrameFlags) + 1))))); ptr <= toDoLimit2; ptr += BytesPerWord) {
 		oop = longAt(ptr);
 		if (((oop & 3) == 0)
 		 && (((longAt(oop)) & (0x3FFFFF - 8)) == 0)) {
@@ -77525,6 +77548,8 @@
     char *sp2;
     sqInt successBoolean;
 
+	nArgs = 0;
+	nArgs1 = 0;
 	savedFramePointer = 0;
 	savedFramePointer1 = 0;
 	savedStackPointer = 0;
@@ -77896,6 +77921,8 @@
 	   Fetch the first literal of the method; check its an Array of length 4.
 	   Look at the function index in case it has been loaded before */
 
+	accessorDepth = 0;
+	val = 0;
 	if (!((((GIV(newMethod) & 3) == 0)
 		 && (((((usqInt) (longAt(GIV(newMethod)))) >> 24) & 0x1F) >= 24))
 		 && (((literalCountOfMethodHeader(methodHeaderOf(GIV(newMethod)))) > 0)

Modified: branches/Cog/nsspursrc/vm/cointerp.h
===================================================================
--- branches/Cog/nsspursrc/vm/cointerp.h	2015-05-18 01:20:04 UTC (rev 3349)
+++ branches/Cog/nsspursrc/vm/cointerp.h	2015-05-19 01:13:54 UTC (rev 3350)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710
  */
 
 

Modified: branches/Cog/nsspursrc/vm/gcc3x-cointerp.c
===================================================================
--- branches/Cog/nsspursrc/vm/gcc3x-cointerp.c	2015-05-18 01:20:04 UTC (rev 3349)
+++ branches/Cog/nsspursrc/vm/gcc3x-cointerp.c	2015-05-19 01:13:54 UTC (rev 3350)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710
    from
-	CoInterpreter VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae
+	CoInterpreter VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2383,7 +2383,7 @@
 /*560*/	-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0,-1,-1
 	};
 char expensiveAsserts = 0;
-const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.1313";
+const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.1315";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */;
 volatile int sendTrace;
 
@@ -6055,6 +6055,7 @@
 					sqInt table;
 
 					VM_LABEL(commonSend);
+					nArgs = 0;
 					savedFramePointer = 0;
 					savedStackPointer = 0;
 					/* begin sendBreakpoint:receiver: */
@@ -8965,6 +8966,7 @@
 				sqInt totalLength1;
 
 				VM_LABEL(bytecodePrimAt);
+				objOop = 0;
 				result = 0;
 				index = longAtPointer(localSP);
 				rcvr = longAtPointer(localSP + (1 * BytesPerOop));
@@ -11586,6 +11588,7 @@
 				sqInt totalLength1;
 
 				VM_LABEL(bytecodePrimAt1);
+				objOop = 0;
 				result = 0;
 				index = longAtPointer(localSP);
 				rcvr = longAtPointer(localSP + (1 * BytesPerOop));
@@ -13444,6 +13447,7 @@
 				sqInt tagBits;
 
 				VM_LABEL(commonSendAbsentImplicit);
+				nArgs = 0;
 				savedFramePointer = 0;
 				savedStackPointer = 0;
 				localAbsentReceiver = implicitReceiverFormixinimplementing(longAt(localFP + FoxIFReceiver), methodClassOf(GIV(method)), GIV(messageSelector));
@@ -13863,6 +13867,7 @@
 				sqInt tagBits;
 
 				VM_LABEL(extSendAbsentDynamicSuperBytecode);
+				nArgs = 0;
 				savedFramePointer = 0;
 				savedStackPointer = 0;
 				byte = byteAtPointer(++localIP);
@@ -14442,6 +14447,7 @@
 				sqInt tagBits;
 
 				VM_LABEL(extSendAbsentSelfBytecode);
+				nArgs = 0;
 				savedFramePointer = 0;
 				savedStackPointer = 0;
 				byte = byteAtPointer(++localIP);
@@ -15006,6 +15012,7 @@
 				sqInt tagBits;
 
 				VM_LABEL(extSendAbsentOuterBytecode);
+				nArgs = 0;
 				savedFramePointer = 0;
 				savedStackPointer = 0;
 				byte = byteAtPointer(++localIP);
@@ -15784,7 +15791,7 @@
     CogMethod *cogMethod;
     sqInt methodField;
     sqInt methodField1;
-    sqInt theIP;
+    usqInt theIP;
 
 	assertl(GIV(stackPage) == (mostRecentlyUsedPage()), ln);
 	assertl(addressIsInPage(GIV(stackPage), lifp), ln);
@@ -20033,6 +20040,7 @@
     char *savedFramePointer;
     char *savedStackPointer;
 
+	nArgs = 0;
 	savedFramePointer = 0;
 	savedStackPointer = 0;
 	assertCStackWellAligned();
@@ -26344,6 +26352,7 @@
     char *savedFramePointer;
     char *savedStackPointer;
 
+	nArgs = 0;
 	savedFramePointer = 0;
 	savedStackPointer = 0;
 	if (recordPrimTrace()) {
@@ -30236,6 +30245,7 @@
     sqInt copyHashFlag;
     sqInt ec;
 
+	copyHashFlag = 0;
 	if ((longAt(GIV(stackPointer))) == GIV(trueObj)) {
 		copyHashFlag = 1;
 	}
@@ -30268,6 +30278,7 @@
     sqInt reasonCode;
     char *sp;
 
+	objOop = 0;
 	characterCode = longAt(GIV(stackPointer));
 	if (!(((characterCode & 1))
 		 && (((characterCode = (characterCode >> 1)),
@@ -30336,6 +30347,7 @@
     sqInt stSize;
     sqInt totalLength;
 
+	objOop = 0;
 	/* begin commonAt: */
 	/* begin initPrimCall */
 	GIV(primFailCode) = 0;
@@ -30748,6 +30760,7 @@
 	depth = 0;
 	extentX = 0;
 	extentY = 0;
+	i = 0;
 	maskBitsIndex = 0;
 	maskObj = 0;
 	offsetObj = 0;
@@ -31935,7 +31948,9 @@
     sqInt v1;
     sqInt v2;
 
+	midx = 0;
 	msecs = 0;
+	uidx = 0;
 	usecs = 0;
 	if (GIV(argumentCount) != 1) {
 		/* begin primitiveFail */
@@ -33180,7 +33195,7 @@
     sqInt arg;
     sqInt fmt;
     sqInt i;
-    usqInt length;
+    sqInt length;
     usqInt numBytes;
     usqInt numSlots;
     usqInt numSlots1;
@@ -33221,18 +33236,18 @@
 
 			/* bytes (the common case), including CompiledMethod */
 
-			length = ((sqInt) (numBytes - (fmt & 7)));
+			length = numBytes - (fmt & 7);
 			goto l1;
 		}
 		if (fmt <= 9) {
-			length = ((sqInt) numBytes);
+			length = numBytes;
 			goto l1;
 		}
 		if (fmt >= 12) {
-			length = ((sqInt) (numBytes - ((fmt & 3) << 1)));
+			length = numBytes - ((fmt & 3) << 1);
 			goto l1;
 		}
-		length = ((sqInt) (numBytes - ((fmt & 1) << 2)));
+		length = numBytes - ((fmt & 1) << 2);
 	l1:	/* end numBytesOf: */;
 		if (!((((((usqInt) (longAt(rcvr))) >> 24) & 0x1F) == ((((usqInt) (longAt(arg))) >> 24) & 0x1F))
 			 && (length == (numBytesOf(arg))))) {
@@ -33250,9 +33265,9 @@
 		flag("endianness");
 		assert((classIndexOf(rcvr)) > (isForwardedObjectClassIndexPun()));
 		numSlots1 = byteAt(rcvr + 7);
-		length = (numSlots1 == 0xFF
-			? longAt(rcvr - BaseHeaderSize)
-			: numSlots1);
+		length = ((usqInt) ((numSlots1 == 0xFF
+	? longAt(rcvr - BaseHeaderSize)
+	: numSlots1)));
 		if (!((isAppropriateForCopyObject(arg))
 			 && (length == (lengthOfformat(arg, (((usqInt) (longAt(arg))) >> 24) & 0x1F))))) {
 			(GIV(primFailCode) = PrimErrBadArgument);
@@ -37276,6 +37291,7 @@
     char *sp1;
     sqInt spaceOkay;
 
+	spaceOkay = 0;
 	
 	/* Allocate a new fixed-size instance.  Fail if the allocation would leave
 	   less than lowSpaceThreshold bytes free. This *will not* cause a GC :-) */
@@ -37543,6 +37559,7 @@
     sqInt spaceOkay;
     sqInt value;
 
+	spaceOkay = 0;
 	/* begin positiveMachineIntegerValueOf: */
 	oop1 = longAt(GIV(stackPointer));
 	if ((oop1 & 1)) {
@@ -40395,6 +40412,7 @@
     sqInt stSize;
     sqInt totalLength;
 
+	objOop = 0;
 	/* begin commonAt: */
 	/* begin initPrimCall */
 	GIV(primFailCode) = 0;
@@ -45320,7 +45338,7 @@
     sqInt ptr2;
     sqInt slotBytes;
     usqInt smallObj;
-    usqInt start;
+    sqInt start;
 
 	classIndex = (long32At(aClass + 4)) & 0x3FFFFF;
 	if (classIndex == 0) {
@@ -48919,6 +48937,7 @@
     sqInt referent2;
     sqInt startOfFreeRun;
 
+	endOfFreeRun = 0;
 	startOfFreeRun = 0;
 	assert(!(isForwarded(GIV(nilObj))));
 	assert(!(isForwarded(GIV(falseObj))));
@@ -63585,6 +63604,7 @@
     sqInt segAddress1;
     sqInt segIndex;
 
+	allocatedSize = 0;
 	newSegIndex = 0;
 	null;
 	segAddress = sqAllocateMemorySegmentOfSizeAboveAllocatedSizeInto(ammount, firstGapOfSizeAtLeast(ammount), (&allocatedSize));
@@ -64277,7 +64297,7 @@
     usqLong firstSavedBridgeWord;
     sqInt nWritten;
     usqInt pier1;
-    usqInt pier2;
+    sqInt pier2;
     usqLong secondSavedBridgeWord;
 
 	pier1 = (((segment->segSize)) + ((segment->segStart))) - (2 * BaseHeaderSize);
@@ -64627,6 +64647,7 @@
 {
     sqInt objOop;
 
+	objOop = 0;
 	return (CharacterTable == null
 		? (ascii << 2) + 2
 		: (/* begin fetchPointer:ofObject: */
@@ -67463,17 +67484,19 @@
 {
     sqInt oop;
     char *ptr;
+    char * toDoLimit1;
+    char * toDoLimit2;
 
-	for (ptr = theSP; ptr <= (frameReceiverLocation(theFP)); ptr += BytesPerWord) {
+	for (ptr = theSP, toDoLimit1 = (frameReceiverLocation(theFP)); ptr <= toDoLimit1; ptr += BytesPerWord) {
 		oop = longAt(ptr);
 		if (((oop & 3) == 0)
 		 && (((longAt(oop)) & (0x3FFFFF - 8)) == 0)) {
 			longAtput(ptr, followForwarded(oop));
 		}
 	}
-	for (ptr = ((theFP + FoxCallerSavedIP) + BytesPerWord); ptr <= (theFP + (frameStackedReceiverOffsetNumArgs(((((usqInt)(longAt(theFP + FoxMethod)))) < (startOfMemory())
+	for (ptr = ((theFP + FoxCallerSavedIP) + BytesPerWord), toDoLimit2 = (theFP + (frameStackedReceiverOffsetNumArgs(((((usqInt)(longAt(theFP + FoxMethod)))) < (startOfMemory())
 	? ((mframeCogMethod(theFP))->cmNumArgs)
-	: byteAt((theFP + FoxIFrameFlags) + 1))))); ptr += BytesPerWord) {
+	: byteAt((theFP + FoxIFrameFlags) + 1))))); ptr <= toDoLimit2; ptr += BytesPerWord) {
 		oop = longAt(ptr);
 		if (((oop & 3) == 0)
 		 && (((longAt(oop)) & (0x3FFFFF - 8)) == 0)) {
@@ -77534,6 +77557,8 @@
     char *sp2;
     sqInt successBoolean;
 
+	nArgs = 0;
+	nArgs1 = 0;
 	savedFramePointer = 0;
 	savedFramePointer1 = 0;
 	savedStackPointer = 0;
@@ -77905,6 +77930,8 @@
 	   Fetch the first literal of the method; check its an Array of length 4.
 	   Look at the function index in case it has been loaded before */
 
+	accessorDepth = 0;
+	val = 0;
 	if (!((((GIV(newMethod) & 3) == 0)
 		 && (((((usqInt) (longAt(GIV(newMethod)))) >> 24) & 0x1F) >= 24))
 		 && (((literalCountOfMethodHeader(methodHeaderOf(GIV(newMethod)))) > 0)

Modified: branches/Cog/nsspurstack64src/vm/gcc3x-interp.c
===================================================================
--- branches/Cog/nsspurstack64src/vm/gcc3x-interp.c	2015-05-18 01:20:04 UTC (rev 3349)
+++ branches/Cog/nsspurstack64src/vm/gcc3x-interp.c	2015-05-19 01:13:54 UTC (rev 3350)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710
    from
-	StackInterpreter VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae
+	StackInterpreter VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710
  */
-static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae " __DATE__ ;
+static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2149,7 +2149,7 @@
 	/* 575 */ (void (*)(void))0,
  0 };
 char expensiveAsserts = 0;
-const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreterPrimitives_VMMaker.oscog-eem.1313";
+const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreterPrimitives_VMMaker.oscog-eem.1315";
 volatile int sendTrace;
 sqInt suppressHeartbeatFlag;
 
@@ -5716,6 +5716,7 @@
 					sqInt table;
 
 					VM_LABEL(commonSend);
+					nArgs = 0;
 					savedFramePointer = 0;
 					savedStackPointer = 0;
 					/* begin sendBreakpoint:receiver: */
@@ -8764,6 +8765,7 @@
 				sqInt totalLength1;
 
 				VM_LABEL(bytecodePrimAt);
+				objOop = 0;
 				result = 0;
 				index = longAtPointer(localSP);
 				rcvr = longAtPointer(localSP + (1 * BytesPerOop));
@@ -11682,6 +11684,7 @@
 				sqInt totalLength1;
 
 				VM_LABEL(bytecodePrimAt1);
+				objOop = 0;
 				result = 0;
 				index = longAtPointer(localSP);
 				rcvr = longAtPointer(localSP + (1 * BytesPerOop));
@@ -13458,6 +13461,7 @@
 				sqInt wrapAround;
 
 				VM_LABEL(commonSendAbsentImplicit);
+				nArgs = 0;
 				savedFramePointer = 0;
 				savedStackPointer = 0;
 				/* begin implicitReceiverFor:mixin:implementing: */
@@ -13911,6 +13915,7 @@
 				sqInt tagBits;
 
 				VM_LABEL(extSendAbsentDynamicSuperBytecode);
+				nArgs = 0;
 				savedFramePointer = 0;
 				savedStackPointer = 0;
 				byte = byteAtPointer(++localIP);
@@ -14330,6 +14335,7 @@
 				sqInt tagBits;
 
 				VM_LABEL(extSendAbsentSelfBytecode);
+				nArgs = 0;
 				savedFramePointer = 0;
 				savedStackPointer = 0;
 				byte = byteAtPointer(++localIP);
@@ -14753,6 +14759,7 @@
 				sqInt tagBits;
 
 				VM_LABEL(extSendAbsentOuterBytecode);
+				nArgs = 0;
 				savedFramePointer = 0;
 				savedStackPointer = 0;
 				byte = byteAtPointer(++localIP);
@@ -15824,6 +15831,7 @@
     sqInt copyHashFlag;
     sqInt ec;
 
+	copyHashFlag = 0;
 	if ((longAt(GIV(stackPointer))) == GIV(trueObj)) {
 		copyHashFlag = 1;
 	}
@@ -15856,6 +15864,7 @@
     sqInt reasonCode;
     char *sp;
 
+	objOop = 0;
 	characterCode = longAt(GIV(stackPointer));
 	if (!(((((characterCode) & 7) == 1))
 		 && (((characterCode = (characterCode >> 3)),
@@ -15920,6 +15929,7 @@
     sqInt stSize;
     sqInt totalLength;
 
+	objOop = 0;
 	/* begin commonAt: */
 	/* begin initPrimCall */
 	GIV(primFailCode) = 0;
@@ -16285,6 +16295,7 @@
 	depth = 0;
 	extentX = 0;
 	extentY = 0;
+	i = 0;
 	maskBitsIndex = 0;
 	maskObj = 0;
 	offsetObj = 0;
@@ -17237,7 +17248,9 @@
     sqInt v1;
     sqInt v2;
 
+	midx = 0;
 	msecs = 0;
+	uidx = 0;
 	usecs = 0;
 	if (GIV(argumentCount) != 1) {
 		/* begin primitiveFail */
@@ -21389,6 +21402,7 @@
     sqInt top1;
     sqInt valuePointer;
 
+	nArgs = 0;
 	savedFramePointer = 0;
 	savedStackPointer = 0;
 	/* begin eeInstantiateClassIndex:format:numSlots: */
@@ -22501,6 +22515,7 @@
     char *sp1;
     sqInt spaceOkay;
 
+	spaceOkay = 0;
 	
 	/* Allocate a new fixed-size instance.  Fail if the allocation would leave
 	   less than lowSpaceThreshold bytes free. This *will not* cause a GC :-) */
@@ -22770,6 +22785,7 @@
     sqInt spaceOkay;
     sqInt value;
 
+	spaceOkay = 0;
 	/* begin positiveMachineIntegerValueOf: */
 	oop1 = longAt(GIV(stackPointer));
 	if ((((oop1) & 7) == 1)) {
@@ -23628,6 +23644,7 @@
     sqInt tagBits2;
     sqInt top;
 
+	nArgs = 0;
 	savedFramePointer = 0;
 	savedStackPointer = 0;
 	lookupClass = longAt(GIV(stackPointer));
@@ -23905,6 +23922,7 @@
     sqInt tagBits1;
     sqInt top;
 
+	nArgs = 0;
 	savedFramePointer = 0;
 	savedStackPointer = 0;
 	/* begin primitiveObject:perform:withArguments:lookedUpIn: */
@@ -27068,6 +27086,7 @@
     sqInt stSize;
     sqInt totalLength;
 
+	objOop = 0;
 	/* begin commonAt: */
 	/* begin initPrimCall */
 	GIV(primFailCode) = 0;
@@ -36764,6 +36783,7 @@
     sqInt slotBytes2;
     sqInt startOfFreeRun;
 
+	endOfFreeRun = 0;
 	startOfFreeRun = 0;
 	assert(!(isForwarded(GIV(nilObj))));
 	assert(!(isForwarded(GIV(falseObj))));
@@ -53189,6 +53209,7 @@
     sqInt segAddress1;
     sqInt segIndex;
 
+	allocatedSize = 0;
 	newSegIndex = 0;
 	null;
 	segAddress = sqAllocateMemorySegmentOfSizeAboveAllocatedSizeInto(ammount, firstGapOfSizeAtLeast(ammount), (&allocatedSize));
@@ -54395,6 +54416,7 @@
 {
     sqInt objOop;
 
+	objOop = 0;
 	return (CharacterTable == null
 		? (((long)ascii) << 3) + 2
 		: (/* begin fetchPointer:ofObject: */
@@ -57606,15 +57628,17 @@
 {
     sqInt oop;
     char *ptr;
+    char * toDoLimit1;
+    char * toDoLimit2;
 
-	for (ptr = theSP; ptr <= (frameReceiverLocation(theFP)); ptr += BytesPerWord) {
+	for (ptr = theSP, toDoLimit1 = (frameReceiverLocation(theFP)); ptr <= toDoLimit1; ptr += BytesPerWord) {
 		oop = longAt(ptr);
 		if (((oop & 7) == 0)
 		 && (((longAt(oop)) & (0x3FFFFF - 8)) == 0)) {
 			longAtput(ptr, followForwarded(oop));
 		}
 	}
-	for (ptr = ((theFP + FoxCallerSavedIP) + BytesPerWord); ptr <= (theFP + ((FoxCallerSavedIP + BytesPerWord) + (((long)(byteAt((theFP + FoxFrameFlags) + 1))) << (shiftForWord())))); ptr += BytesPerWord) {
+	for (ptr = ((theFP + FoxCallerSavedIP) + BytesPerWord), toDoLimit2 = (theFP + ((FoxCallerSavedIP + BytesPerWord) + (((long)(byteAt((theFP + FoxFrameFlags) + 1))) << (shiftForWord())))); ptr <= toDoLimit2; ptr += BytesPerWord) {
 		oop = longAt(ptr);
 		if (((oop & 7) == 0)
 		 && (((longAt(oop)) & (0x3FFFFF - 8)) == 0)) {
@@ -71034,6 +71058,8 @@
     char *sp2;
     sqInt successBoolean;
 
+	nArgs = 0;
+	nArgs1 = 0;
 	savedFramePointer = 0;
 	savedFramePointer1 = 0;
 	savedStackPointer = 0;
@@ -71207,6 +71233,7 @@
     sqInt table;
     sqInt top;
 
+	nArgs = 0;
 	savedFramePointer = 0;
 	savedStackPointer = 0;
 	methodArgument = longAt(GIV(stackPointer));
@@ -71400,6 +71427,7 @@
     char *sp7;
     sqInt table;
 
+	nArgs = 0;
 	savedFramePointer = 0;
 	savedStackPointer = 0;
 	methodArgument = longAt(GIV(stackPointer));
@@ -71631,6 +71659,8 @@
 	   Fetch the first literal of the method; check its an Array of length 4.
 	   Look at the function index in case it has been loaded before */
 
+	accessorDepth = 0;
+	val = 0;
 	if (!((((GIV(newMethod) & 7) == 0)
 		 && (((((usqInt) (longAt(GIV(newMethod)))) >> 24) & 0x1F) >= 24))
 		 && (((literalCountOfMethodHeader(methodHeaderOf(GIV(newMethod)))) > 0)
@@ -72665,6 +72695,7 @@
     sqInt table;
     sqInt tagBits;
 
+	nArgs = 0;
 	savedFramePointer = 0;
 	savedStackPointer = 0;
 	performMethod = GIV(newMethod);

Modified: branches/Cog/nsspurstack64src/vm/interp.c
===================================================================
--- branches/Cog/nsspurstack64src/vm/interp.c	2015-05-18 01:20:04 UTC (rev 3349)
+++ branches/Cog/nsspurstack64src/vm/interp.c	2015-05-19 01:13:54 UTC (rev 3350)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710
    from
-	StackInterpreter VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae
+	StackInterpreter VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710
  */
-static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae " __DATE__ ;
+static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2146,7 +2146,7 @@
 	/* 575 */ (void (*)(void))0,
  0 };
 char expensiveAsserts = 0;
-const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreterPrimitives_VMMaker.oscog-eem.1313";
+const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreterPrimitives_VMMaker.oscog-eem.1315";
 volatile int sendTrace;
 sqInt suppressHeartbeatFlag;
 
@@ -5707,6 +5707,7 @@
 					sqInt table;
 
 					VM_LABEL(commonSend);
+					nArgs = 0;
 					savedFramePointer = 0;
 					savedStackPointer = 0;
 					/* begin sendBreakpoint:receiver: */
@@ -8755,6 +8756,7 @@
 				sqInt totalLength1;
 
 				VM_LABEL(bytecodePrimAt);
+				objOop = 0;
 				result = 0;
 				index = longAtPointer(localSP);
 				rcvr = longAtPointer(localSP + (1 * BytesPerOop));
@@ -11673,6 +11675,7 @@
 				sqInt totalLength1;
 
 				VM_LABEL(bytecodePrimAt1);
+				objOop = 0;
 				result = 0;
 				index = longAtPointer(localSP);
 				rcvr = longAtPointer(localSP + (1 * BytesPerOop));
@@ -13449,6 +13452,7 @@
 				sqInt wrapAround;
 
 				VM_LABEL(commonSendAbsentImplicit);
+				nArgs = 0;
 				savedFramePointer = 0;
 				savedStackPointer = 0;
 				/* begin implicitReceiverFor:mixin:implementing: */
@@ -13902,6 +13906,7 @@
 				sqInt tagBits;
 
 				VM_LABEL(extSendAbsentDynamicSuperBytecode);
+				nArgs = 0;
 				savedFramePointer = 0;
 				savedStackPointer = 0;
 				byte = byteAtPointer(++localIP);
@@ -14321,6 +14326,7 @@
 				sqInt tagBits;
 
 				VM_LABEL(extSendAbsentSelfBytecode);
+				nArgs = 0;
 				savedFramePointer = 0;
 				savedStackPointer = 0;
 				byte = byteAtPointer(++localIP);
@@ -14744,6 +14750,7 @@
 				sqInt tagBits;
 
 				VM_LABEL(extSendAbsentOuterBytecode);
+				nArgs = 0;
 				savedFramePointer = 0;
 				savedStackPointer = 0;
 				byte = byteAtPointer(++localIP);
@@ -15815,6 +15822,7 @@
     sqInt copyHashFlag;
     sqInt ec;
 
+	copyHashFlag = 0;
 	if ((longAt(GIV(stackPointer))) == GIV(trueObj)) {
 		copyHashFlag = 1;
 	}
@@ -15847,6 +15855,7 @@
     sqInt reasonCode;
     char *sp;
 
+	objOop = 0;
 	characterCode = longAt(GIV(stackPointer));
 	if (!(((((characterCode) & 7) == 1))
 		 && (((characterCode = (characterCode >> 3)),
@@ -15911,6 +15920,7 @@
     sqInt stSize;
     sqInt totalLength;
 
+	objOop = 0;
 	/* begin commonAt: */
 	/* begin initPrimCall */
 	GIV(primFailCode) = 0;
@@ -16276,6 +16286,7 @@
 	depth = 0;
 	extentX = 0;
 	extentY = 0;
+	i = 0;
 	maskBitsIndex = 0;
 	maskObj = 0;
 	offsetObj = 0;
@@ -17228,7 +17239,9 @@
     sqInt v1;
     sqInt v2;
 
+	midx = 0;
 	msecs = 0;
+	uidx = 0;
 	usecs = 0;
 	if (GIV(argumentCount) != 1) {
 		/* begin primitiveFail */
@@ -21380,6 +21393,7 @@
     sqInt top1;
     sqInt valuePointer;
 
+	nArgs = 0;
 	savedFramePointer = 0;
 	savedStackPointer = 0;
 	/* begin eeInstantiateClassIndex:format:numSlots: */
@@ -22492,6 +22506,7 @@
     char *sp1;
     sqInt spaceOkay;
 
+	spaceOkay = 0;
 	
 	/* Allocate a new fixed-size instance.  Fail if the allocation would leave
 	   less than lowSpaceThreshold bytes free. This *will not* cause a GC :-) */
@@ -22761,6 +22776,7 @@
     sqInt spaceOkay;
     sqInt value;
 
+	spaceOkay = 0;
 	/* begin positiveMachineIntegerValueOf: */
 	oop1 = longAt(GIV(stackPointer));
 	if ((((oop1) & 7) == 1)) {
@@ -23619,6 +23635,7 @@
     sqInt tagBits2;
     sqInt top;
 
+	nArgs = 0;
 	savedFramePointer = 0;
 	savedStackPointer = 0;
 	lookupClass = longAt(GIV(stackPointer));
@@ -23896,6 +23913,7 @@
     sqInt tagBits1;
     sqInt top;
 
+	nArgs = 0;
 	savedFramePointer = 0;
 	savedStackPointer = 0;
 	/* begin primitiveObject:perform:withArguments:lookedUpIn: */
@@ -27059,6 +27077,7 @@
     sqInt stSize;
     sqInt totalLength;
 
+	objOop = 0;
 	/* begin commonAt: */
 	/* begin initPrimCall */
 	GIV(primFailCode) = 0;
@@ -36755,6 +36774,7 @@
     sqInt slotBytes2;
     sqInt startOfFreeRun;
 
+	endOfFreeRun = 0;
 	startOfFreeRun = 0;
 	assert(!(isForwarded(GIV(nilObj))));
 	assert(!(isForwarded(GIV(falseObj))));
@@ -53180,6 +53200,7 @@
     sqInt segAddress1;
     sqInt segIndex;
 
+	allocatedSize = 0;
 	newSegIndex = 0;
 	null;
 	segAddress = sqAllocateMemorySegmentOfSizeAboveAllocatedSizeInto(ammount, firstGapOfSizeAtLeast(ammount), (&allocatedSize));
@@ -54386,6 +54407,7 @@
 {
     sqInt objOop;
 
+	objOop = 0;
 	return (CharacterTable == null
 		? (((long)ascii) << 3) + 2
 		: (/* begin fetchPointer:ofObject: */
@@ -57597,15 +57619,17 @@
 {
     sqInt oop;
     char *ptr;
+    char * toDoLimit1;
+    char * toDoLimit2;
 
-	for (ptr = theSP; ptr <= (frameReceiverLocation(theFP)); ptr += BytesPerWord) {
+	for (ptr = theSP, toDoLimit1 = (frameReceiverLocation(theFP)); ptr <= toDoLimit1; ptr += BytesPerWord) {
 		oop = longAt(ptr);
 		if (((oop & 7) == 0)
 		 && (((longAt(oop)) & (0x3FFFFF - 8)) == 0)) {
 			longAtput(ptr, followForwarded(oop));
 		}
 	}
-	for (ptr = ((theFP + FoxCallerSavedIP) + BytesPerWord); ptr <= (theFP + ((FoxCallerSavedIP + BytesPerWord) + (((long)(byteAt((theFP + FoxFrameFlags) + 1))) << (shiftForWord())))); ptr += BytesPerWord) {
+	for (ptr = ((theFP + FoxCallerSavedIP) + BytesPerWord), toDoLimit2 = (theFP + ((FoxCallerSavedIP + BytesPerWord) + (((long)(byteAt((theFP + FoxFrameFlags) + 1))) << (shiftForWord())))); ptr <= toDoLimit2; ptr += BytesPerWord) {
 		oop = longAt(ptr);
 		if (((oop & 7) == 0)
 		 && (((longAt(oop)) & (0x3FFFFF - 8)) == 0)) {
@@ -71025,6 +71049,8 @@
     char *sp2;
     sqInt successBoolean;
 
+	nArgs = 0;
+	nArgs1 = 0;
 	savedFramePointer = 0;
 	savedFramePointer1 = 0;
 	savedStackPointer = 0;
@@ -71198,6 +71224,7 @@
     sqInt table;
     sqInt top;
 
+	nArgs = 0;
 	savedFramePointer = 0;
 	savedStackPointer = 0;
 	methodArgument = longAt(GIV(stackPointer));
@@ -71391,6 +71418,7 @@
     char *sp7;
     sqInt table;
 
+	nArgs = 0;
 	savedFramePointer = 0;
 	savedStackPointer = 0;
 	methodArgument = longAt(GIV(stackPointer));
@@ -71622,6 +71650,8 @@
 	   Fetch the first literal of the method; check its an Array of length 4.
 	   Look at the function index in case it has been loaded before */
 
+	accessorDepth = 0;
+	val = 0;
 	if (!((((GIV(newMethod) & 7) == 0)
 		 && (((((usqInt) (longAt(GIV(newMethod)))) >> 24) & 0x1F) >= 24))
 		 && (((literalCountOfMethodHeader(methodHeaderOf(GIV(newMethod)))) > 0)
@@ -72656,6 +72686,7 @@
     sqInt table;
     sqInt tagBits;
 
+	nArgs = 0;
 	savedFramePointer = 0;
 	savedStackPointer = 0;
 	performMethod = GIV(newMethod);

Modified: branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c
===================================================================
--- branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c	2015-05-18 01:20:04 UTC (rev 3349)
+++ branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c	2015-05-19 01:13:54 UTC (rev 3350)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710
    from
-	StackInterpreter VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae
+	StackInterpreter VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710
  */
-static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae " __DATE__ ;
+static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2120,7 +2120,7 @@
 	/* 575 */ (void (*)(void))0,
  0 };
 char expensiveAsserts = 0;
-const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreterPrimitives_VMMaker.oscog-eem.1313";
+const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreterPrimitives_VMMaker.oscog-eem.1315";
 volatile int sendTrace;
 sqInt suppressHeartbeatFlag;
 
@@ -5689,6 +5689,7 @@
 					sqInt table;
 
 					VM_LABEL(commonSend);
+					nArgs = 0;
 					savedFramePointer = 0;
 					savedStackPointer = 0;
 					/* begin sendBreakpoint:receiver: */
@@ -8365,6 +8366,7 @@
 				sqInt totalLength1;
 
 				VM_LABEL(bytecodePrimAt);
+				objOop = 0;
 				result = 0;
 				index = longAtPointer(localSP);
 				rcvr = longAtPointer(localSP + (1 * BytesPerOop));
@@ -10964,6 +10966,7 @@
 				sqInt totalLength1;
 
 				VM_LABEL(bytecodePrimAt1);
+				objOop = 0;
 				result = 0;
 				index = longAtPointer(localSP);
 				rcvr = longAtPointer(localSP + (1 * BytesPerOop));
@@ -12789,6 +12792,7 @@
 				sqInt wrapAround;
 
 				VM_LABEL(commonSendAbsentImplicit);
+				nArgs = 0;
 				savedFramePointer = 0;
 				savedStackPointer = 0;
 				/* begin implicitReceiverFor:mixin:implementing: */
@@ -13246,6 +13250,7 @@
 				sqInt tagBits;
 
 				VM_LABEL(extSendAbsentDynamicSuperBytecode);
+				nArgs = 0;
 				savedFramePointer = 0;
 				savedStackPointer = 0;
 				byte = byteAtPointer(++localIP);
@@ -13665,6 +13670,7 @@
 				sqInt tagBits;
 
 				VM_LABEL(extSendAbsentSelfBytecode);
+				nArgs = 0;
 				savedFramePointer = 0;
 				savedStackPointer = 0;
 				byte = byteAtPointer(++localIP);
@@ -14090,6 +14096,7 @@
 				sqInt tagBits;
 
 				VM_LABEL(extSendAbsentOuterBytecode);
+				nArgs = 0;
 				savedFramePointer = 0;
 				savedStackPointer = 0;
 				byte = byteAtPointer(++localIP);
@@ -15199,6 +15206,7 @@
     sqInt copyHashFlag;
     sqInt ec;
 
+	copyHashFlag = 0;
 	if ((longAt(GIV(stackPointer))) == GIV(trueObj)) {
 		copyHashFlag = 1;
 	}
@@ -15231,6 +15239,7 @@
     sqInt reasonCode;
     char *sp;
 
+	objOop = 0;
 	characterCode = longAt(GIV(stackPointer));
 	if (!(((characterCode & 1))
 		 && (((characterCode = (characterCode >> 1)),
@@ -15299,6 +15308,7 @@
     sqInt stSize;
     sqInt totalLength;
 
+	objOop = 0;
 	/* begin commonAt: */
 	/* begin initPrimCall */
 	GIV(primFailCode) = 0;
@@ -15711,6 +15721,7 @@
 	depth = 0;
 	extentX = 0;
 	extentY = 0;
+	i = 0;
 	maskBitsIndex = 0;
 	maskObj = 0;
 	offsetObj = 0;
@@ -16898,7 +16909,9 @@
     sqInt v1;
     sqInt v2;
 
+	midx = 0;
 	msecs = 0;
+	uidx = 0;
 	usecs = 0;
 	if (GIV(argumentCount) != 1) {
 		/* begin primitiveFail */
@@ -20905,6 +20918,7 @@
     sqInt top1;
     sqInt valuePointer;
 
+	nArgs = 0;
 	savedFramePointer = 0;
 	savedStackPointer = 0;
 	/* begin eeInstantiateClassIndex:format:numSlots: */
@@ -22037,6 +22051,7 @@
     char *sp1;
     sqInt spaceOkay;
 
+	spaceOkay = 0;
 	
 	/* Allocate a new fixed-size instance.  Fail if the allocation would leave
 	   less than lowSpaceThreshold bytes free. This *will not* cause a GC :-) */
@@ -22304,6 +22319,7 @@
     sqInt spaceOkay;
     sqInt value;
 
+	spaceOkay = 0;
 	/* begin positiveMachineIntegerValueOf: */
 	oop1 = longAt(GIV(stackPointer));
 	if ((oop1 & 1)) {
@@ -23071,6 +23087,7 @@
     sqInt tagBits2;
     sqInt top;
 
+	nArgs = 0;
 	savedFramePointer = 0;
 	savedStackPointer = 0;
 	lookupClass = longAt(GIV(stackPointer));
@@ -23350,6 +23367,7 @@
     sqInt tagBits1;
     sqInt top;
 
+	nArgs = 0;
 	savedFramePointer = 0;
 	savedStackPointer = 0;
 	/* begin primitiveObject:perform:withArguments:lookedUpIn: */
@@ -25575,6 +25593,7 @@
     sqInt stSize;
     sqInt totalLength;
 
+	objOop = 0;
 	/* begin commonAt: */
 	/* begin initPrimCall */
 	GIV(primFailCode) = 0;
@@ -34380,6 +34399,7 @@
     sqInt referent2;
     sqInt startOfFreeRun;
 
+	endOfFreeRun = 0;
 	startOfFreeRun = 0;
 	assert(!(isForwarded(GIV(nilObj))));
 	assert(!(isForwarded(GIV(falseObj))));
@@ -48829,6 +48849,7 @@
     sqInt segAddress1;
     sqInt segIndex;
 
+	allocatedSize = 0;
 	newSegIndex = 0;
 	null;
 	segAddress = sqAllocateMemorySegmentOfSizeAboveAllocatedSizeInto(ammount, firstGapOfSizeAtLeast(ammount), (&allocatedSize));
@@ -50005,6 +50026,7 @@
 {
     sqInt objOop;
 
+	objOop = 0;
 	return (CharacterTable == null
 		? (ascii << 2) + 2
 		: (/* begin fetchPointer:ofObject: */
@@ -52989,15 +53011,17 @@
 {
     sqInt oop;
     char *ptr;
+    char * toDoLimit1;
+    char * toDoLimit2;
 
-	for (ptr = theSP; ptr <= (frameReceiverLocation(theFP)); ptr += BytesPerWord) {
+	for (ptr = theSP, toDoLimit1 = (frameReceiverLocation(theFP)); ptr <= toDoLimit1; ptr += BytesPerWord) {
 		oop = longAt(ptr);
 		if (((oop & 3) == 0)
 		 && (((longAt(oop)) & (0x3FFFFF - 8)) == 0)) {
 			longAtput(ptr, followForwarded(oop));
 		}
 	}
-	for (ptr = ((theFP + FoxCallerSavedIP) + BytesPerWord); ptr <= (theFP + ((FoxCallerSavedIP + BytesPerWord) + ((byteAt((theFP + FoxFrameFlags) + 1)) << (shiftForWord())))); ptr += BytesPerWord) {
+	for (ptr = ((theFP + FoxCallerSavedIP) + BytesPerWord), toDoLimit2 = (theFP + ((FoxCallerSavedIP + BytesPerWord) + ((byteAt((theFP + FoxFrameFlags) + 1)) << (shiftForWord())))); ptr <= toDoLimit2; ptr += BytesPerWord) {
 		oop = longAt(ptr);
 		if (((oop & 3) == 0)
 		 && (((longAt(oop)) & (0x3FFFFF - 8)) == 0)) {
@@ -66898,6 +66922,8 @@
     char *sp2;
     sqInt successBoolean;
 
+	nArgs = 0;
+	nArgs1 = 0;
 	savedFramePointer = 0;
 	savedFramePointer1 = 0;
 	savedStackPointer = 0;
@@ -67071,6 +67097,7 @@
     sqInt table;
     sqInt top;
 
+	nArgs = 0;
 	savedFramePointer = 0;
 	savedStackPointer = 0;
 	methodArgument = longAt(GIV(stackPointer));
@@ -67264,6 +67291,7 @@
     char *sp7;
     sqInt table;
 
+	nArgs = 0;
 	savedFramePointer = 0;
 	savedStackPointer = 0;
 	methodArgument = longAt(GIV(stackPointer));
@@ -67495,6 +67523,8 @@

@@ Diff output truncated at 50000 characters. @@


More information about the Vm-dev mailing list