[Vm-dev] [commit][3348] CogVM source as per VMMaker.oscog-eem.1311

commits at squeakvm.org commits at squeakvm.org
Sun May 17 23:03:04 UTC 2015


Revision: 3348
Author:   eliot
Date:     2015-05-17 16:03:01 -0700 (Sun, 17 May 2015)
Log Message:
-----------
CogVM source as per VMMaker.oscog-eem.1311

General:
Make the bounds check in primitiveObject:perform:...
more restrictive and fix bugs in the commentary.

Make stack pages a reasonable size.  My math was
wrong and the size was half as big as intended.

Extend the fastPrimTrace scheme to trace stack overflow, prim failure and prim
retry to help debug the phantom stack frame bug in Cog Spur.

Cogit:
Revamp icache flushing in the Cogit for ARM.  Move icache flush for generated
methods/pics to the fillIn*Header: routines.  Make sure the cache is flushed
in generateCaptureCStackPointers:.  Flush the entire PIC when extending it.

Spur:
Fix ceActivateFailingPrimitiveMethod: to return properly after retrying
a primitive after checkForAndFollowForwardedPrimitiveState. e.g. fixes
  | s | 1 to: 5 do: [:i| s := 'bar'. s becomeForward: 'bzzt' copy. 'foo' <= s]

Fix bug in followForwardedFrameContents:stackPointer: so that arguments are
actually followed.  N.B. drives the above bug underground ;-).
so that named constants (defines) are not elided.

Newspeak:
Remove landmine left from restructing implicit receiver and outer sends as
clean sends.

Slang:
Fix constant elimination on arithmetic generation.

Plugins:
Regenerated because of changes in accessorDepth calculation,
constant elimination, and read-before-use initialization.

Modified Paths:
--------------
    branches/Cog/nsspursrc/plugins/B2DPlugin/B2DPlugin.c
    branches/Cog/nsspursrc/plugins/BitBltPlugin/BitBltPlugin.c
    branches/Cog/nsspursrc/plugins/DSAPrims/DSAPrims.c
    branches/Cog/nsspursrc/plugins/FilePlugin/FilePlugin.c
    branches/Cog/nsspursrc/plugins/JPEGReaderPlugin/JPEGReaderPlugin.c
    branches/Cog/nsspursrc/plugins/LargeIntegers/LargeIntegers.c
    branches/Cog/nsspursrc/plugins/MiscPrimitivePlugin/MiscPrimitivePlugin.c
    branches/Cog/nsspursrc/plugins/RePlugin/RePlugin.c
    branches/Cog/nsspursrc/plugins/SocketPlugin/SocketPlugin.c
    branches/Cog/nsspursrc/plugins/SoundPlugin/SoundPlugin.c
    branches/Cog/nsspursrc/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c
    branches/Cog/nsspursrc/plugins/Win32OSProcessPlugin/Win32OSProcessPlugin.c
    branches/Cog/nsspursrc/plugins/ZipPlugin/ZipPlugin.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/platforms/win32/vm/sqWin32Directory.c
    branches/Cog/scripts/revertUnchangedPlugins
    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/ADPCMCodecPlugin/ADPCMCodecPlugin.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/DSAPrims/DSAPrims.c
    branches/Cog/src/plugins/FilePlugin/FilePlugin.c
    branches/Cog/src/plugins/GdbARMPlugin/GdbARMPlugin.c
    branches/Cog/src/plugins/GeniePlugin/GeniePlugin.c
    branches/Cog/src/plugins/JPEGReaderPlugin/JPEGReaderPlugin.c
    branches/Cog/src/plugins/Klatt/Klatt.c
    branches/Cog/src/plugins/LargeIntegers/LargeIntegers.c
    branches/Cog/src/plugins/MacMenubarPlugin/MacMenubarPlugin.c
    branches/Cog/src/plugins/MiscPrimitivePlugin/MiscPrimitivePlugin.c
    branches/Cog/src/plugins/Mpeg3Plugin/Mpeg3Plugin.c
    branches/Cog/src/plugins/RePlugin/RePlugin.c
    branches/Cog/src/plugins/ScratchPlugin/ScratchPlugin.c
    branches/Cog/src/plugins/SerialPlugin/SerialPlugin.c
    branches/Cog/src/plugins/SocketPlugin/SocketPlugin.c
    branches/Cog/src/plugins/SoundCodecPrims/SoundCodecPrims.c
    branches/Cog/src/plugins/SoundGenerationPlugin/SoundGenerationPlugin.c
    branches/Cog/src/plugins/SoundPlugin/SoundPlugin.c
    branches/Cog/src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c
    branches/Cog/src/plugins/SqueakFFIPrims/IA32FFIPlugin.c
    branches/Cog/src/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c
    branches/Cog/src/plugins/Win32OSProcessPlugin/Win32OSProcessPlugin.c
    branches/Cog/src/plugins/ZipPlugin/ZipPlugin.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-17 20:13:47 UTC (rev 3347)
+++ branches/Cog/nsspursrc/plugins/B2DPlugin/B2DPlugin.c	2015-05-17 23:03:01 UTC (rev 3348)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	VMPluginCodeGenerator VMMaker.oscog-eem.1145 uuid: 945d0a43-e29d-4fb4-a1b8-263465636aec
+	VMPluginCodeGenerator VMMaker.oscog-eem.1311 uuid: 61f8144b-089d-4ca4-9e81-4ccfa6de0fc3
    from
-	BalloonEnginePlugin VMMaker.oscog-eem.1145 uuid: 945d0a43-e29d-4fb4-a1b8-263465636aec
+	BalloonEnginePlugin VMMaker.oscog-eem.1311 uuid: 61f8144b-089d-4ca4-9e81-4ccfa6de0fc3
  */
-static char __buildInfo[] = "BalloonEnginePlugin VMMaker.oscog-eem.1145 uuid: 945d0a43-e29d-4fb4-a1b8-263465636aec " __DATE__ ;
+static char __buildInfo[] = "BalloonEnginePlugin VMMaker.oscog-eem.1311 uuid: 61f8144b-089d-4ca4-9e81-4ccfa6de0fc3 " __DATE__ ;
 
 
 
@@ -836,9 +836,9 @@
 static void * loadBBFn;
 static const char *moduleName =
 #ifdef SQUEAK_BUILTIN_PLUGIN
-	"B2DPlugin VMMaker.oscog-eem.1145 (i)"
+	"B2DPlugin VMMaker.oscog-eem.1311 (i)"
 #else
-	"B2DPlugin VMMaker.oscog-eem.1145 (e)"
+	"B2DPlugin VMMaker.oscog-eem.1311 (e)"
 #endif
 ;
 static int* objBuffer;
@@ -1689,13 +1689,13 @@
 static sqInt
 bzStartX(sqInt index)
 {
-	return workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - index) + 0)];
+	return workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - index))];
 }
 
 static sqInt
 bzStartXput(sqInt index, sqInt value)
 {
-	return workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - index) + 0)] = value;
+	return workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - index))] = value;
 }
 
 static sqInt
@@ -2153,7 +2153,7 @@
 	if (engineStopped) {
 		return 0;
 	}
-	leftViaX = (startX = workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - index) + 0)]);
+	leftViaX = (startX = workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - index))]);
 	leftViaY = (startY = workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - index) + 1)]);
 	rightViaX = (viaX = workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - index) + 2)]);
 	rightViaY = (viaY = workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - index) + 3)]);
@@ -2178,7 +2178,7 @@
 	workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - index) + 3)] = leftViaY;
 	workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - index) + 4)] = sharedX;
 	workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - index) + 5)] = sharedY;
-	workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - newIndex) + 0)] = sharedX;
+	workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - newIndex))] = sharedX;
 	workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - newIndex) + 1)] = sharedY;
 	workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - newIndex) + 2)] = rightViaX;
 	workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - newIndex) + 3)] = rightViaY;
@@ -2210,7 +2210,7 @@
     sqInt viaX;
     sqInt viaY;
 
-	leftViaX = (startX = workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - index) + 0)]);
+	leftViaX = (startX = workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - index))]);
 	leftViaY = (startY = workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - index) + 1)]);
 	rightViaX = (viaX = workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - index) + 2)]);
 	rightViaY = (viaY = workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - index) + 3)]);
@@ -2294,7 +2294,7 @@
 	workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - index) + 3)] = leftViaY;
 	workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - index) + 4)] = sharedX;
 	workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - index) + 5)] = sharedY;
-	workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - newIndex) + 0)] = sharedX;
+	workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - newIndex))] = sharedX;
 	workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - newIndex) + 1)] = sharedY;
 	workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - newIndex) + 2)] = rightViaX;
 	workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - newIndex) + 3)] = rightViaY;
@@ -5234,7 +5234,7 @@
 		workBuffer[GWBufferTop] = ((workBuffer[GWBufferTop]) + 3);
 		return 1;
 	}
-	workBuffer[(workBuffer[GWBufferTop]) + index] = (workBuffer[(workBuffer[GWBufferTop]) + 0]);
+	workBuffer[(workBuffer[GWBufferTop]) + index] = (workBuffer[(workBuffer[GWBufferTop])]);
 	workBuffer[(workBuffer[GWBufferTop]) + (index + 1)] = (workBuffer[(workBuffer[GWBufferTop]) + (0 + 1)]);
 	workBuffer[(workBuffer[GWBufferTop]) + (index + 2)] = (workBuffer[(workBuffer[GWBufferTop]) + (0 + 2)]);
 	/* begin freeStackFillEntry */
@@ -5708,7 +5708,7 @@
 	if (engineStopped) {
 		return 0;
 	}
-	workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - bz1) + 0)] = (point1[0]);
+	workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - bz1))] = (point1[0]);
 	workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - bz1) + 1)] = (point1[1]);
 	workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - bz1) + 2)] = (point2[0]);
 	workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - bz1) + 3)] = (point2[1]);
@@ -6117,7 +6117,7 @@
 
 		/* Top to bottom */
 
-		objBuffer[bezier + GEXValue] = (workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - index) + 0)]);
+		objBuffer[bezier + GEXValue] = (workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - index))]);
 		objBuffer[bezier + GEYValue] = ((workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - index) + 1)]) - yOffset);
 		objBuffer[bezier + GBViaX] = (workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - index) + 2)]);
 		objBuffer[bezier + GBViaY] = ((workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - index) + 3)]) - yOffset);
@@ -6129,7 +6129,7 @@
 		objBuffer[bezier + GEYValue] = ((workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - index) + 5)]) - yOffset);
 		objBuffer[bezier + GBViaX] = (workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - index) + 2)]);
 		objBuffer[bezier + GBViaY] = ((workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - index) + 3)]) - yOffset);
-		objBuffer[bezier + GBEndX] = (workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - index) + 0)]);
+		objBuffer[bezier + GBEndX] = (workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - index))]);
 		objBuffer[bezier + GBEndY] = ((workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - index) + 1)]) - yOffset);
 	}
 	objBuffer[bezier + GEZValue] = (workBuffer[GWCurrentZ]);
@@ -6385,7 +6385,7 @@
 		/* Load short points */
 
 		/* begin loadPointShortAt:from: */
-		x0 = (((short *) points))[index + 0];
+		x0 = (((short *) points))[index];
 		/* begin loadPointShortAt:from: */
 		y0 = (((short *) points))[index + 1];
 		/* begin loadPointShortAt:from: */
@@ -6398,7 +6398,7 @@
 		y2 = (((short *) points))[index + 5];
 	}
 	else {
-		x0 = (((int *) points))[index + 0];
+		x0 = (((int *) points))[index];
 		y0 = (((int *) points))[index + 1];
 		x1 = (((int *) points))[index + 2];
 		y1 = (((int *) points))[index + 3];
@@ -6795,7 +6795,7 @@
 			/* Load short points */
 
 			/* begin loadPointShortAt:from: */
-			x0 = (((short *) points))[index + 0];
+			x0 = (((short *) points))[index];
 			/* begin loadPointShortAt:from: */
 			y0 = (((short *) points))[index + 1];
 			/* begin loadPointShortAt:from: */
@@ -6808,7 +6808,7 @@
 			y2 = (((short *) points))[index + 5];
 		}
 		else {
-			x0 = (((int *) points))[index + 0];
+			x0 = (((int *) points))[index];
 			y0 = (((int *) points))[index + 1];
 			x1 = (((int *) points))[index + 2];
 			y1 = (((int *) points))[index + 3];
@@ -7417,8 +7417,8 @@
 
 	/* Load start point of segment */
 
-	x0 = ((sqInt)((((circleCosTable())[(seg * 2) + 0]) * (((double) w ))) + cx));
-	y0 = ((sqInt)((((circleSinTable())[(seg * 2) + 0]) * (((double) h ))) + cy));
+	x0 = ((sqInt)((((circleCosTable())[(seg * 2)]) * (((double) w ))) + cx));
+	y0 = ((sqInt)((((circleSinTable())[(seg * 2)]) * (((double) h ))) + cy));
 	(point1Get())[0] = x0;
 	(point1Get())[1] = y0;
 	x2 = ((sqInt)((((circleCosTable())[(seg * 2) + 2]) * (((double) w ))) + cx));
@@ -7967,7 +7967,7 @@
 			/* Load short points */
 
 			/* begin loadPointShortAt:from: */
-			x0 = (((short *) points))[index + 0];
+			x0 = (((short *) points))[index];
 			/* begin loadPointShortAt:from: */
 			y0 = (((short *) points))[index + 1];
 			/* begin loadPointShortAt:from: */
@@ -7980,7 +7980,7 @@
 			y2 = (((short *) points))[index + 5];
 		}
 		else {
-			x0 = (((int *) points))[index + 0];
+			x0 = (((int *) points))[index];
 			y0 = (((int *) points))[index + 1];
 			x1 = (((int *) points))[index + 2];
 			y1 = (((int *) points))[index + 3];
@@ -11962,6 +11962,7 @@
 {
     sqInt aaLevel;
 
+	aaLevel = 0;
 	if (level >= 4) {
 		aaLevel = 4;
 	}
@@ -12081,7 +12082,7 @@
 	if (!(wbStackPush(3))) {
 		return null;
 	}
-	workBuffer[(workBuffer[GWBufferTop]) + 0] = fillIndex;
+	workBuffer[(workBuffer[GWBufferTop])] = fillIndex;
 	workBuffer[(workBuffer[GWBufferTop]) + (0 + 1)] = depth;
 	workBuffer[(workBuffer[GWBufferTop]) + (0 + 2)] = rightX;
 	if (((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) == 3) {
@@ -12091,7 +12092,7 @@
 
 		/* New top fill */
 
-		workBuffer[(workBuffer[GWBufferTop]) + 0] = (workBuffer[(workBuffer[GWBufferTop]) + (((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - 3)]);
+		workBuffer[(workBuffer[GWBufferTop])] = (workBuffer[(workBuffer[GWBufferTop]) + (((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - 3)]);
 		workBuffer[(workBuffer[GWBufferTop]) + (0 + 1)] = (workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - 3) + 1)]);
 		workBuffer[(workBuffer[GWBufferTop]) + (0 + 2)] = (workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - 3) + 2)]);
 		workBuffer[(workBuffer[GWBufferTop]) + (((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - 3)] = fillIndex;
@@ -13244,7 +13245,7 @@
 		workBuffer[GWBezierHeightSubdivisions] = ((workBuffer[GWBezierHeightSubdivisions]) + 1);
 		return computeBezierSplitAtHalf(index);
 	}
-	startX = workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - index) + 0)];
+	startX = workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - index))];
 	endX = workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - index) + 4)];
 	deltaX = endX - startX;
 	if (deltaX < 0) {
@@ -13271,7 +13272,7 @@
     sqInt startX;
     sqInt viaX;
 
-	startX = workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - index) + 0)];
+	startX = workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - index))];
 	viaX = workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - index) + 2)];
 	endX = workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - index) + 4)];
 	dx1 = viaX - startX;
@@ -14235,7 +14236,7 @@
 	{"B2DPlugin", "initialiseModule", (void*)initialiseModule},
 	{"B2DPlugin", "moduleUnloaded", (void*)moduleUnloaded},
 	{"B2DPlugin", "primitiveAbortProcessing\000\002", (void*)primitiveAbortProcessing},
-	{"B2DPlugin", "primitiveAddActiveEdgeEntry\000\002", (void*)primitiveAddActiveEdgeEntry},
+	{"B2DPlugin", "primitiveAddActiveEdgeEntry\000\003", (void*)primitiveAddActiveEdgeEntry},
 	{"B2DPlugin", "primitiveAddBezier\000\002", (void*)primitiveAddBezier},
 	{"B2DPlugin", "primitiveAddBezierShape\000\003", (void*)primitiveAddBezierShape},
 	{"B2DPlugin", "primitiveAddBitmapFill\000\002", (void*)primitiveAddBitmapFill},
@@ -14284,7 +14285,7 @@
 #else /* ifdef SQ_BUILTIN_PLUGIN */
 
 signed char primitiveAbortProcessingAccessorDepth = 2;
-signed char primitiveAddActiveEdgeEntryAccessorDepth = 2;
+signed char primitiveAddActiveEdgeEntryAccessorDepth = 3;
 signed char primitiveAddBezierAccessorDepth = 2;
 signed char primitiveAddBezierShapeAccessorDepth = 3;
 signed char primitiveAddBitmapFillAccessorDepth = 2;

Modified: branches/Cog/nsspursrc/plugins/BitBltPlugin/BitBltPlugin.c
===================================================================
--- branches/Cog/nsspursrc/plugins/BitBltPlugin/BitBltPlugin.c	2015-05-17 20:13:47 UTC (rev 3347)
+++ branches/Cog/nsspursrc/plugins/BitBltPlugin/BitBltPlugin.c	2015-05-17 23:03:01 UTC (rev 3348)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	SmartSyntaxPluginCodeGenerator VMMaker.oscog-eem.1145 uuid: 945d0a43-e29d-4fb4-a1b8-263465636aec
+	SmartSyntaxPluginCodeGenerator VMMaker.oscog-eem.1311 uuid: 61f8144b-089d-4ca4-9e81-4ccfa6de0fc3
    from
-	BitBltSimulation VMMaker.oscog-eem.1145 uuid: 945d0a43-e29d-4fb4-a1b8-263465636aec
+	BitBltSimulation VMMaker.oscog-eem.1311 uuid: 61f8144b-089d-4ca4-9e81-4ccfa6de0fc3
  */
-static char __buildInfo[] = "BitBltSimulation VMMaker.oscog-eem.1145 uuid: 945d0a43-e29d-4fb4-a1b8-263465636aec " __DATE__ ;
+static char __buildInfo[] = "BitBltSimulation VMMaker.oscog-eem.1311 uuid: 61f8144b-089d-4ca4-9e81-4ccfa6de0fc3 " __DATE__ ;
 
 
 
@@ -344,9 +344,9 @@
 };
 static const char *moduleName =
 #ifdef SQUEAK_BUILTIN_PLUGIN
-	"BitBltPlugin VMMaker.oscog-eem.1145 (i)"
+	"BitBltPlugin VMMaker.oscog-eem.1311 (i)"
 #else
-	"BitBltPlugin VMMaker.oscog-eem.1145 (e)"
+	"BitBltPlugin VMMaker.oscog-eem.1311 (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/DSAPrims/DSAPrims.c
===================================================================
--- branches/Cog/nsspursrc/plugins/DSAPrims/DSAPrims.c	2015-05-17 20:13:47 UTC (rev 3347)
+++ branches/Cog/nsspursrc/plugins/DSAPrims/DSAPrims.c	2015-05-17 23:03:01 UTC (rev 3348)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	VMPluginCodeGenerator VMMaker.oscog-eem.1072 uuid: bd9d8dd5-dea0-49da-8be7-cb246f49f554
+	VMPluginCodeGenerator VMMaker.oscog-eem.1311 uuid: 61f8144b-089d-4ca4-9e81-4ccfa6de0fc3
    from
-	DSAPlugin VMMaker.oscog-eem.1072 uuid: bd9d8dd5-dea0-49da-8be7-cb246f49f554
+	DSAPlugin VMMaker.oscog-eem.1311 uuid: 61f8144b-089d-4ca4-9e81-4ccfa6de0fc3
  */
-static char __buildInfo[] = "DSAPlugin VMMaker.oscog-eem.1072 uuid: bd9d8dd5-dea0-49da-8be7-cb246f49f554 " __DATE__ ;
+static char __buildInfo[] = "DSAPlugin VMMaker.oscog-eem.1311 uuid: 61f8144b-089d-4ca4-9e81-4ccfa6de0fc3 " __DATE__ ;
 
 
 
@@ -91,9 +91,9 @@
 struct VirtualMachine* interpreterProxy;
 static const char *moduleName =
 #ifdef SQUEAK_BUILTIN_PLUGIN
-	"DSAPrims VMMaker.oscog-eem.1072 (i)"
+	"DSAPrims VMMaker.oscog-eem.1311 (i)"
 #else
-	"DSAPrims VMMaker.oscog-eem.1072 (e)"
+	"DSAPrims VMMaker.oscog-eem.1311 (e)"
 #endif
 ;
 static sqInt remainderDigitCount;
@@ -721,7 +721,7 @@
 
 void* DSAPrims_exports[][3] = {
 	{"DSAPrims", "getModuleName", (void*)getModuleName},
-	{"DSAPrims", "primitiveBigDivide\000\001", (void*)primitiveBigDivide},
+	{"DSAPrims", "primitiveBigDivide\000\002", (void*)primitiveBigDivide},
 	{"DSAPrims", "primitiveBigMultiply\000\001", (void*)primitiveBigMultiply},
 	{"DSAPrims", "primitiveExpandBlock\000\001", (void*)primitiveExpandBlock},
 	{"DSAPrims", "primitiveHashBlock\000\001", (void*)primitiveHashBlock},
@@ -733,7 +733,7 @@
 
 #else /* ifdef SQ_BUILTIN_PLUGIN */
 
-signed char primitiveBigDivideAccessorDepth = 1;
+signed char primitiveBigDivideAccessorDepth = 2;
 signed char primitiveBigMultiplyAccessorDepth = 1;
 signed char primitiveExpandBlockAccessorDepth = 1;
 signed char primitiveHashBlockAccessorDepth = 1;

Modified: branches/Cog/nsspursrc/plugins/FilePlugin/FilePlugin.c
===================================================================
--- branches/Cog/nsspursrc/plugins/FilePlugin/FilePlugin.c	2015-05-17 20:13:47 UTC (rev 3347)
+++ branches/Cog/nsspursrc/plugins/FilePlugin/FilePlugin.c	2015-05-17 23:03:01 UTC (rev 3348)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	VMPluginCodeGenerator VMMaker.oscog-eem.1145 uuid: 945d0a43-e29d-4fb4-a1b8-263465636aec
+	VMPluginCodeGenerator VMMaker.oscog-eem.1311 uuid: 61f8144b-089d-4ca4-9e81-4ccfa6de0fc3
    from
-	FilePlugin VMMaker.oscog-eem.1145 uuid: 945d0a43-e29d-4fb4-a1b8-263465636aec
+	FilePlugin VMMaker.oscog-eem.1311 uuid: 61f8144b-089d-4ca4-9e81-4ccfa6de0fc3
  */
-static char __buildInfo[] = "FilePlugin VMMaker.oscog-eem.1145 uuid: 945d0a43-e29d-4fb4-a1b8-263465636aec " __DATE__ ;
+static char __buildInfo[] = "FilePlugin VMMaker.oscog-eem.1311 uuid: 61f8144b-089d-4ca4-9e81-4ccfa6de0fc3 " __DATE__ ;
 
 
 
@@ -177,9 +177,9 @@
 struct VirtualMachine* interpreterProxy;
 static const char *moduleName =
 #ifdef SQUEAK_BUILTIN_PLUGIN
-	"FilePlugin VMMaker.oscog-eem.1145 (i)"
+	"FilePlugin VMMaker.oscog-eem.1311 (i)"
 #else
-	"FilePlugin VMMaker.oscog-eem.1145 (e)"
+	"FilePlugin VMMaker.oscog-eem.1311 (e)"
 #endif
 ;
 static void * sCCPfn;
@@ -471,6 +471,11 @@
     sqInt requestedName;
     sqInt status;
 
+	createDate = 0;
+	dirFlag = 0;
+	entryNameSize = 0;
+	fileSize = 0;
+	modifiedDate = 0;
 	requestedName = stackValue(0);
 	pathName = stackValue(1);
 	if (!(isBytes(pathName))) {
@@ -576,6 +581,11 @@
     sqInt pathNameSize;
     sqInt status;
 
+	createDate = 0;
+	dirFlag = 0;
+	entryNameSize = 0;
+	fileSize = 0;
+	modifiedDate = 0;
 	index = stackIntegerValue(0);
 	pathName = stackValue(1);
 	if (!(isBytes(pathName))) {
@@ -678,6 +688,7 @@
     SQFile *file;
     sqInt objectPointer;
 
+	atEnd = 0;
 	/* begin fileValueOf: */
 	objectPointer = stackValue(0);
 	if (!((isBytes(objectPointer))
@@ -782,6 +793,7 @@
     sqInt objectPointer;
     squeakFileOffsetType position;
 
+	position = 0;
 	/* begin fileValueOf: */
 	objectPointer = stackValue(0);
 	if (!((isBytes(objectPointer))
@@ -944,6 +956,7 @@
     sqInt objectPointer;
     squeakFileOffsetType size;
 
+	size = 0;
 	/* begin fileValueOf: */
 	objectPointer = stackValue(0);
 	if (!((isBytes(objectPointer))

Modified: branches/Cog/nsspursrc/plugins/JPEGReaderPlugin/JPEGReaderPlugin.c
===================================================================
--- branches/Cog/nsspursrc/plugins/JPEGReaderPlugin/JPEGReaderPlugin.c	2015-05-17 20:13:47 UTC (rev 3347)
+++ branches/Cog/nsspursrc/plugins/JPEGReaderPlugin/JPEGReaderPlugin.c	2015-05-17 23:03:01 UTC (rev 3348)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	VMPluginCodeGenerator VMMaker.oscog-eem.1145 uuid: 945d0a43-e29d-4fb4-a1b8-263465636aec
+	VMPluginCodeGenerator VMMaker.oscog-eem.1311 uuid: 61f8144b-089d-4ca4-9e81-4ccfa6de0fc3
    from
-	JPEGReaderPlugin VMMaker.oscog-eem.1145 uuid: 945d0a43-e29d-4fb4-a1b8-263465636aec
+	JPEGReaderPlugin VMMaker.oscog-eem.1311 uuid: 61f8144b-089d-4ca4-9e81-4ccfa6de0fc3
  */
-static char __buildInfo[] = "JPEGReaderPlugin VMMaker.oscog-eem.1145 uuid: 945d0a43-e29d-4fb4-a1b8-263465636aec " __DATE__ ;
+static char __buildInfo[] = "JPEGReaderPlugin VMMaker.oscog-eem.1311 uuid: 61f8144b-089d-4ca4-9e81-4ccfa6de0fc3 " __DATE__ ;
 
 
 
@@ -175,9 +175,9 @@
 static sqInt jsReadLimit;
 static const char *moduleName =
 #ifdef SQUEAK_BUILTIN_PLUGIN
-	"JPEGReaderPlugin VMMaker.oscog-eem.1145 (i)"
+	"JPEGReaderPlugin VMMaker.oscog-eem.1311 (i)"
 #else
-	"JPEGReaderPlugin VMMaker.oscog-eem.1145 (e)"
+	"JPEGReaderPlugin VMMaker.oscog-eem.1311 (e)"
 #endif
 ;
 static int *residuals;
@@ -741,7 +741,7 @@
 			t3 = (t3 + z1) + z4;
 			ws[i] = ((t10 + t3) / Pass1Div);
 			ws[(DCTSize * 7) + i] = ((t10 - t3) / Pass1Div);
-			ws[(DCTSize * 1) + i] = ((t11 + t2) / Pass1Div);
+			ws[(DCTSize) + i] = ((t11 + t2) / Pass1Div);
 			ws[(DCTSize * 6) + i] = ((t11 - t2) / Pass1Div);
 			ws[(DCTSize * 2) + i] = ((t12 + t1) / Pass1Div);
 			ws[(DCTSize * 5) + i] = ((t12 - t1) / Pass1Div);
@@ -1695,7 +1695,7 @@
 			t3 = (t3 + z1) + z4;
 			ws[i] = ((t10 + t3) / Pass1Div);
 			ws[(DCTSize * 7) + i] = ((t10 - t3) / Pass1Div);
-			ws[(DCTSize * 1) + i] = ((t11 + t2) / Pass1Div);
+			ws[(DCTSize) + i] = ((t11 + t2) / Pass1Div);
 			ws[(DCTSize * 6) + i] = ((t11 - t2) / Pass1Div);
 			ws[(DCTSize * 2) + i] = ((t12 + t1) / Pass1Div);
 			ws[(DCTSize * 5) + i] = ((t12 - t1) / Pass1Div);

Modified: branches/Cog/nsspursrc/plugins/LargeIntegers/LargeIntegers.c
===================================================================
--- branches/Cog/nsspursrc/plugins/LargeIntegers/LargeIntegers.c	2015-05-17 20:13:47 UTC (rev 3347)
+++ branches/Cog/nsspursrc/plugins/LargeIntegers/LargeIntegers.c	2015-05-17 23:03:01 UTC (rev 3348)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	SmartSyntaxPluginCodeGenerator VMMaker.oscog-eem.1145 uuid: 945d0a43-e29d-4fb4-a1b8-263465636aec
+	SmartSyntaxPluginCodeGenerator VMMaker.oscog-eem.1311 uuid: 61f8144b-089d-4ca4-9e81-4ccfa6de0fc3
    from
-	LargeIntegersPlugin VMMaker.oscog-eem.1145 uuid: 945d0a43-e29d-4fb4-a1b8-263465636aec
+	LargeIntegersPlugin VMMaker.oscog-eem.1311 uuid: 61f8144b-089d-4ca4-9e81-4ccfa6de0fc3
  */
-static char __buildInfo[] = "LargeIntegersPlugin VMMaker.oscog-eem.1145 uuid: 945d0a43-e29d-4fb4-a1b8-263465636aec " __DATE__ ;
+static char __buildInfo[] = "LargeIntegersPlugin VMMaker.oscog-eem.1311 uuid: 61f8144b-089d-4ca4-9e81-4ccfa6de0fc3 " __DATE__ ;
 
 
 
@@ -174,9 +174,9 @@
 struct VirtualMachine* interpreterProxy;
 static const char *moduleName =
 #ifdef SQUEAK_BUILTIN_PLUGIN
-	"LargeIntegers v1.5 VMMaker.oscog-eem.1145 (i)"
+	"LargeIntegers v1.5 VMMaker.oscog-eem.1311 (i)"
 #else
-	"LargeIntegers v1.5 VMMaker.oscog-eem.1145 (e)"
+	"LargeIntegers v1.5 VMMaker.oscog-eem.1311 (e)"
 #endif
 ;
 static const int  orOpIndex = 1;
@@ -373,7 +373,7 @@
 		/* C indexed! */
 
 		/* begin cBytesReplace:from:to:with:startingAt: */
-		cBytesCopyFromtolen(pFrom + 0, pTo + byteShift, ((newLen - 1) - byteShift) + 1);
+		cBytesCopyFromtolen(pFrom, pTo + byteShift, ((newLen - 1) - byteShift) + 1);
 		goto l1;
 	}
 	carry = 0;
@@ -489,7 +489,7 @@
 		/* C indexed! */
 
 		/* begin cBytesReplace:from:to:with:startingAt: */
-		cBytesCopyFromtolen(pFrom + b, pTo + 0, ((newLen - 1) - 0) + 1);
+		cBytesCopyFromtolen(pFrom + b, pTo, ((newLen - 1)) + 1);
 		goto l5;
 	}
 	x1 = (pFrom[b]) << f;
@@ -614,7 +614,7 @@
 		/* C indexed! */
 
 		/* begin cBytesReplace:from:to:with:startingAt: */
-		return cBytesCopyFromtolen(pFrom + 0, pTo + byteShift, ((lenTo - 1) - byteShift) + 1);
+		return cBytesCopyFromtolen(pFrom, pTo + byteShift, ((lenTo - 1) - byteShift) + 1);
 	}
 	carry = 0;
 	limit = byteShift - 1;
@@ -685,7 +685,7 @@
 		/* C indexed! */
 
 		/* begin cBytesReplace:from:to:with:startingAt: */
-		return cBytesCopyFromtolen(pFrom + b, pTo + 0, ((toLen - 1) - 0) + 1);
+		return cBytesCopyFromtolen(pFrom + b, pTo, ((toLen - 1)) + 1);
 	}
 	x = (pFrom[b]) << f;
 	/* begin sqAssert: */

Modified: branches/Cog/nsspursrc/plugins/MiscPrimitivePlugin/MiscPrimitivePlugin.c
===================================================================
--- branches/Cog/nsspursrc/plugins/MiscPrimitivePlugin/MiscPrimitivePlugin.c	2015-05-17 20:13:47 UTC (rev 3347)
+++ branches/Cog/nsspursrc/plugins/MiscPrimitivePlugin/MiscPrimitivePlugin.c	2015-05-17 23:03:01 UTC (rev 3348)
@@ -1,16 +1,16 @@
 /* Automatically generated by
-	VMPluginCodeGenerator VMMaker.oscog-eem.1288 uuid: 909625f0-4d63-4a3b-84e1-1f2753923d7e
+	VMPluginCodeGenerator VMMaker.oscog-eem.1311 uuid: 61f8144b-089d-4ca4-9e81-4ccfa6de0fc3
    from
-	MiscPrimitivePlugin VMMaker.oscog-eem.1288 uuid: 909625f0-4d63-4a3b-84e1-1f2753923d7e
-	Bitmap * Graphics-mt.312 uuid: ad5f17db-6eed-a44f-a07c-cbfb9d4e09ee
-	ByteArray * Collections.spur-ul.610, Collections.spur-ul.627, Collections.spur-mt.631 uuid: 3448b17a-1361-47a8-af38-4c26b42dc028
-	ByteString * Collections.spur-ul.610, Collections.spur-ul.627, Collections.spur-mt.631 uuid: 3448b17a-1361-47a8-af38-4c26b42dc028
+	MiscPrimitivePlugin VMMaker.oscog-eem.1311 uuid: 61f8144b-089d-4ca4-9e81-4ccfa6de0fc3
+	Bitmap * Graphics-mt.313 uuid: 99af1adc-65b3-5549-8d10-ab452e0c59e5
+	ByteArray * Collections.spur-ul.610, Collections.spur-ul.627, Collections.spur-mt.631, Collections.spur-mt.635 uuid: 3448b17a-1361-47a8-af38-4c26b42dc028
+	ByteString * Collections.spur-ul.610, Collections.spur-ul.627, Collections.spur-mt.631, Collections.spur-mt.635 uuid: 3448b17a-1361-47a8-af38-4c26b42dc028
 	SampledSound Sound-topa.43 uuid: c1c2b948-6c86-4cf8-877d-1620433f558e
  */
-static char __buildInfo[] = "MiscPrimitivePlugin VMMaker.oscog-eem.1288 uuid: 909625f0-4d63-4a3b-84e1-1f2753923d7e\n\
-Bitmap * Graphics-mt.312 uuid: ad5f17db-6eed-a44f-a07c-cbfb9d4e09ee\n\
-ByteArray * Collections.spur-ul.610, Collections.spur-ul.627, Collections.spur-mt.631 uuid: 3448b17a-1361-47a8-af38-4c26b42dc028\n\
-ByteString * Collections.spur-ul.610, Collections.spur-ul.627, Collections.spur-mt.631 uuid: 3448b17a-1361-47a8-af38-4c26b42dc028\n\
+static char __buildInfo[] = "MiscPrimitivePlugin VMMaker.oscog-eem.1311 uuid: 61f8144b-089d-4ca4-9e81-4ccfa6de0fc3\n\
+Bitmap * Graphics-mt.313 uuid: 99af1adc-65b3-5549-8d10-ab452e0c59e5\n\
+ByteArray * Collections.spur-ul.610, Collections.spur-ul.627, Collections.spur-mt.631, Collections.spur-mt.635 uuid: 3448b17a-1361-47a8-af38-4c26b42dc028\n\
+ByteString * Collections.spur-ul.610, Collections.spur-ul.627, Collections.spur-mt.631, Collections.spur-mt.635 uuid: 3448b17a-1361-47a8-af38-4c26b42dc028\n\
 SampledSound Sound-topa.43 uuid: c1c2b948-6c86-4cf8-877d-1620433f558e " __DATE__ ;
 
 
@@ -90,9 +90,9 @@
 struct VirtualMachine* interpreterProxy;
 static const char *moduleName =
 #ifdef SQUEAK_BUILTIN_PLUGIN
-	"MiscPrimitivePlugin VMMaker.oscog-eem.1288 (i)"
+	"MiscPrimitivePlugin VMMaker.oscog-eem.1311 (i)"
 #else
-	"MiscPrimitivePlugin VMMaker.oscog-eem.1288 (e)"
+	"MiscPrimitivePlugin VMMaker.oscog-eem.1311 (e)"
 #endif
 ;
 
@@ -932,7 +932,7 @@
 	{"MiscPrimitivePlugin", "primitiveCompareString\000\000", (void*)primitiveCompareString},
 	{"MiscPrimitivePlugin", "primitiveCompressToByteArray\000\000", (void*)primitiveCompressToByteArray},
 	{"MiscPrimitivePlugin", "primitiveConvert8BitSigned\000\000", (void*)primitiveConvert8BitSigned},
-	{"MiscPrimitivePlugin", "primitiveDecompressFromByteArray\000\000", (void*)primitiveDecompressFromByteArray},
+	{"MiscPrimitivePlugin", "primitiveDecompressFromByteArray\000\001", (void*)primitiveDecompressFromByteArray},
 	{"MiscPrimitivePlugin", "primitiveFindFirstInString\000\000", (void*)primitiveFindFirstInString},
 	{"MiscPrimitivePlugin", "primitiveFindSubstring\000\000", (void*)primitiveFindSubstring},
 	{"MiscPrimitivePlugin", "primitiveIndexOfAsciiInString\000\000", (void*)primitiveIndexOfAsciiInString},
@@ -947,7 +947,7 @@
 signed char primitiveCompareStringAccessorDepth = 0;
 signed char primitiveCompressToByteArrayAccessorDepth = 0;
 signed char primitiveConvert8BitSignedAccessorDepth = 0;
-signed char primitiveDecompressFromByteArrayAccessorDepth = 0;
+signed char primitiveDecompressFromByteArrayAccessorDepth = 1;
 signed char primitiveFindFirstInStringAccessorDepth = 0;
 signed char primitiveFindSubstringAccessorDepth = 0;
 signed char primitiveIndexOfAsciiInStringAccessorDepth = 0;

Modified: branches/Cog/nsspursrc/plugins/RePlugin/RePlugin.c
===================================================================
--- branches/Cog/nsspursrc/plugins/RePlugin/RePlugin.c	2015-05-17 20:13:47 UTC (rev 3347)
+++ branches/Cog/nsspursrc/plugins/RePlugin/RePlugin.c	2015-05-17 23:03:01 UTC (rev 3348)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	SmartSyntaxPluginCodeGenerator VMMaker.oscog-eem.1072 uuid: bd9d8dd5-dea0-49da-8be7-cb246f49f554
+	SmartSyntaxPluginCodeGenerator VMMaker.oscog-eem.1311 uuid: 61f8144b-089d-4ca4-9e81-4ccfa6de0fc3
    from
-	RePlugin VMMaker.oscog-eem.1072 uuid: bd9d8dd5-dea0-49da-8be7-cb246f49f554
+	RePlugin VMMaker.oscog-eem.1311 uuid: 61f8144b-089d-4ca4-9e81-4ccfa6de0fc3
  */
-static char __buildInfo[] = "RePlugin VMMaker.oscog-eem.1072 uuid: bd9d8dd5-dea0-49da-8be7-cb246f49f554 " __DATE__ ;
+static char __buildInfo[] = "RePlugin VMMaker.oscog-eem.1311 uuid: 61f8144b-089d-4ca4-9e81-4ccfa6de0fc3 " __DATE__ ;
 
 
 
@@ -123,9 +123,9 @@
 static sqInt matchFlags;
 static const char *moduleName =
 #ifdef SQUEAK_BUILTIN_PLUGIN
-	"RePlugin VMMaker.oscog-eem.1072 (i)"
+	"RePlugin VMMaker.oscog-eem.1311 (i)"
 #else
-	"RePlugin VMMaker.oscog-eem.1072 (e)"
+	"RePlugin VMMaker.oscog-eem.1311 (e)"
 #endif
 ;
 static int netMemory = 0;
@@ -143,6 +143,7 @@
 	void *extraByteArrayPtr;
 	sqInt extraObject;
 
+	extraByteArrayPtr = 0;
 	if (anExtraPtr) {
 
 		/* Allocate a Smalltalk ByteArray -- lastAlloc contains the length */

Modified: branches/Cog/nsspursrc/plugins/SocketPlugin/SocketPlugin.c
===================================================================
--- branches/Cog/nsspursrc/plugins/SocketPlugin/SocketPlugin.c	2015-05-17 20:13:47 UTC (rev 3347)
+++ branches/Cog/nsspursrc/plugins/SocketPlugin/SocketPlugin.c	2015-05-17 23:03:01 UTC (rev 3348)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	SmartSyntaxPluginCodeGenerator VMMaker.oscog-eem.1145 uuid: 945d0a43-e29d-4fb4-a1b8-263465636aec
+	SmartSyntaxPluginCodeGenerator VMMaker.oscog-eem.1311 uuid: 61f8144b-089d-4ca4-9e81-4ccfa6de0fc3
    from
-	SocketPlugin VMMaker.oscog-eem.1145 uuid: 945d0a43-e29d-4fb4-a1b8-263465636aec
+	SocketPlugin VMMaker.oscog-eem.1311 uuid: 61f8144b-089d-4ca4-9e81-4ccfa6de0fc3
  */
-static char __buildInfo[] = "SocketPlugin VMMaker.oscog-eem.1145 uuid: 945d0a43-e29d-4fb4-a1b8-263465636aec " __DATE__ ;
+static char __buildInfo[] = "SocketPlugin VMMaker.oscog-eem.1311 uuid: 61f8144b-089d-4ca4-9e81-4ccfa6de0fc3 " __DATE__ ;
 
 
 
@@ -176,9 +176,9 @@
 struct VirtualMachine* interpreterProxy;
 static const char *moduleName =
 #ifdef SQUEAK_BUILTIN_PLUGIN
-	"SocketPlugin VMMaker.oscog-eem.1145 (i)"
+	"SocketPlugin VMMaker.oscog-eem.1311 (i)"
 #else
-	"SocketPlugin VMMaker.oscog-eem.1145 (e)"
+	"SocketPlugin VMMaker.oscog-eem.1311 (e)"
 #endif
 ;
 static void * sCCLOPfn;
@@ -326,6 +326,7 @@
 	sqInt s;
 	sqInt sz;
 
+	s = 0;
 	sz = sqResolverAddrLookupResultSize();
 	if (!(failed())) {
 		s = instantiateClassindexableSize(classString(), sz);
@@ -800,6 +801,7 @@
 	sqInt socketOop;
 	sqInt sockHandle;
 
+	socketOop = 0;
 	sockHandle = stackValue(3);
 	recvBufSize = stackIntegerValue(2);
 	sendBufSize = stackIntegerValue(1);
@@ -843,6 +845,7 @@
 	sqInt socketOop;
 	sqInt sockHandle;
 
+	socketOop = 0;
 	sockHandle = stackValue(5);
 	recvBufSize = stackIntegerValue(4);
 	sendBufSize = stackIntegerValue(3);
@@ -1039,6 +1042,7 @@
 	sqInt status;
 	sqInt _return_value;
 
+	status = 0;
 	socket = stackValue(0);
 	if (failed()) {
 		return null;
@@ -1309,6 +1313,7 @@
 	sqInt socket;
 	sqInt _return_value;
 
+	err = 0;
 	socket = stackValue(0);
 	if (failed()) {
 		return null;
@@ -1710,6 +1715,7 @@
 	sqInt startIndex;
 	sqInt _return_value;
 
+	bytesReceived = 0;
 	socket = stackValue(3);
 	array = stackValue(2);
 	startIndex = stackIntegerValue(1);
@@ -1766,6 +1772,7 @@
 	sqInt socket;
 	sqInt startIndex;
 
+	results = 0;
 	socket = stackValue(3);
 	array = stackValue(2);
 	startIndex = stackIntegerValue(1);
@@ -1952,6 +1959,7 @@
 	sqInt startIndex;
 	sqInt _return_value;
 
+	bytesSent = 0;
 	socket = stackValue(3);
 	array = stackValue(2);
 	startIndex = stackIntegerValue(1);
@@ -2036,6 +2044,7 @@
 	sqInt sz;
 	sqInt _return_value;
 
+	bytesSent = 0;
 	socket = stackValue(5);
 	array = stackValue(4);
 	success(isBytes(stackValue(3)));

Modified: branches/Cog/nsspursrc/plugins/SoundPlugin/SoundPlugin.c
===================================================================
--- branches/Cog/nsspursrc/plugins/SoundPlugin/SoundPlugin.c	2015-05-17 20:13:47 UTC (rev 3347)
+++ branches/Cog/nsspursrc/plugins/SoundPlugin/SoundPlugin.c	2015-05-17 23:03:01 UTC (rev 3348)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	SmartSyntaxPluginCodeGenerator VMMaker.oscog-eem.983 uuid: 4cdca841-6318-4c49-95de-8c47d0d7e91d
+	SmartSyntaxPluginCodeGenerator VMMaker.oscog-eem.1311 uuid: 61f8144b-089d-4ca4-9e81-4ccfa6de0fc3
    from
-	SoundPlugin VMMaker.oscog-eem.983 uuid: 4cdca841-6318-4c49-95de-8c47d0d7e91d
+	SoundPlugin VMMaker.oscog-eem.1311 uuid: 61f8144b-089d-4ca4-9e81-4ccfa6de0fc3
  */
-static char __buildInfo[] = "SoundPlugin VMMaker.oscog-eem.983 uuid: 4cdca841-6318-4c49-95de-8c47d0d7e91d " __DATE__ ;
+static char __buildInfo[] = "SoundPlugin VMMaker.oscog-eem.1311 uuid: 61f8144b-089d-4ca4-9e81-4ccfa6de0fc3 " __DATE__ ;
 
 
 
@@ -107,9 +107,9 @@
 struct VirtualMachine* interpreterProxy;
 static const char *moduleName =
 #ifdef SQUEAK_BUILTIN_PLUGIN
-	"SoundPlugin VMMaker.oscog-eem.983 (i)"
+	"SoundPlugin VMMaker.oscog-eem.1311 (i)"
 #else
-	"SoundPlugin VMMaker.oscog-eem.983 (e)"
+	"SoundPlugin VMMaker.oscog-eem.1311 (e)"
 #endif
 ;
 
@@ -225,6 +225,7 @@
 	sqInt leadTime;
 	sqInt _return_value;
 
+	framesPlayed = 0;
 	frameCount = stackIntegerValue(2);
 	success(isWords(stackValue(1)));
 	buf = ((unsigned *) (firstIndexableField(stackValue(1))));
@@ -257,6 +258,7 @@
 	sqInt startIndex;
 	sqInt _return_value;
 
+	framesPlayed = 0;
 	frameCount = stackIntegerValue(2);
 	success(isWords(stackValue(1)));
 	buf = ((unsigned *) (firstIndexableField(stackValue(1))));
@@ -317,6 +319,8 @@
 	sqInt startWordIndex;
 	sqInt _return_value;
 
+	bufSizeInBytes = 0;
+	samplesRecorded = 0;
 	success(isWords(stackValue(1)));
 	buf = ((unsigned *) (firstIndexableField(stackValue(1))));
 	startWordIndex = stackIntegerValue(0);

Modified: branches/Cog/nsspursrc/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c
===================================================================
--- branches/Cog/nsspursrc/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c	2015-05-17 20:13:47 UTC (rev 3347)
+++ branches/Cog/nsspursrc/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c	2015-05-17 23:03:01 UTC (rev 3348)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	VMPluginCodeGenerator VMMaker.oscog-eem.1113 uuid: 9b08eea7-d3db-440f-ba64-16abc799fcf8
+	VMPluginCodeGenerator VMMaker.oscog-eem.1311 uuid: 61f8144b-089d-4ca4-9e81-4ccfa6de0fc3
    from
 	UnixOSProcessPlugin VMConstruction-Plugins-OSProcessPlugin.oscog-eem.50 uuid: 67b1e805-4efd-476c-8cf3-b4a5e14e22a9
  */
@@ -1221,6 +1221,7 @@
     sqInt SigStackSize;
     stack_t sigstack;
 
+	sigstack = 0;
 	if (useSignalStack >= 0) {
 		return useSignalStack != 0;
 	}
@@ -1456,6 +1457,8 @@
     FILEHANDLETYPE *writerIOStreamPtr;
     SQFile *writerPtr;
 
+	readerIOStream = 0;
+	writerIOStream = 0;
 
 	/* Create the anonymous OS pipe */
 
@@ -1517,6 +1520,8 @@
     FILEHANDLETYPE *writerIOStreamPtr;
     SQFile *writerPtr;
 
+	readerIOStream = 0;
+	writerIOStream = 0;
 
 	/* Create the anonymous OS pipe */
 
@@ -1945,6 +1950,7 @@
     sqInt semaphoreIndex;
     sqInt sigNum;
 
+	semaphoreIndex = 0;
 	index = stackValue(0);
 	if (index == (nilObject())) {
 		semaphoreIndex = 0;
@@ -2440,6 +2446,8 @@
     FILEHANDLETYPE *writerIOStreamPtr;
     SQFile *writerPtr;
 
+	readerIOStream = 0;
+	writerIOStream = 0;
 
 	/* Create the anonymous OS pipe */
 
@@ -2502,6 +2510,8 @@
     FILEHANDLETYPE *writerIOStreamPtr;
     SQFile *writerPtr;
 
+	readerIOStream = 0;
+	writerIOStream = 0;
 
 	/* Create the anonymous OS pipe */
 
@@ -4147,6 +4157,7 @@
 {
     struct sigaction sigchldHandlerAction;
 
+	sigchldHandlerAction = 0;
 	
 #  if defined(SA_NOCLDSTOP)
 	sigchldHandlerAction.sa_sigaction = reapChildProcess;
@@ -4192,6 +4203,8 @@
     struct sigaction oldHandlerAction;
     struct sigaction sigHandlerAction;
 
+	oldHandlerAction = 0;
+	sigHandlerAction = 0;
 	if (!(needSigaltstack())) {
 		return signal(signalNumber, signalHandlerAddress);
 	}
@@ -4623,7 +4636,7 @@
 	{"UnixOSProcessPlugin", "primitiveForkExec\000\001", (void*)primitiveForkExec},
 	{"UnixOSProcessPlugin", "primitiveForkSqueak\000\377", (void*)primitiveForkSqueak},
 	{"UnixOSProcessPlugin", "primitiveForkSqueakWithoutSigHandler\000\377", (void*)primitiveForkSqueakWithoutSigHandler},
-	{"UnixOSProcessPlugin", "primitiveForwardSignalToSemaphore\000\001", (void*)primitiveForwardSignalToSemaphore},
+	{"UnixOSProcessPlugin", "primitiveForwardSignalToSemaphore\000\002", (void*)primitiveForwardSignalToSemaphore},
 	{"UnixOSProcessPlugin", "primitiveGetCurrentWorkingDirectory\000\377", (void*)primitiveGetCurrentWorkingDirectory},
 	{"UnixOSProcessPlugin", "primitiveGetEGid\000\377", (void*)primitiveGetEGid},
 	{"UnixOSProcessPlugin", "primitiveGetEUid\000\377", (void*)primitiveGetEUid},
@@ -4651,7 +4664,7 @@
 	{"UnixOSProcessPlugin", "primitivePutEnv\000\002", (void*)primitivePutEnv},
 	{"UnixOSProcessPlugin", "primitiveRealpath\000\000", (void*)primitiveRealpath},
 	{"UnixOSProcessPlugin", "primitiveReapChildProcess\000\000", (void*)primitiveReapChildProcess},
-	{"UnixOSProcessPlugin", "primitiveSemaIndexFor\000\000", (void*)primitiveSemaIndexFor},
+	{"UnixOSProcessPlugin", "primitiveSemaIndexFor\000\001", (void*)primitiveSemaIndexFor},
 	{"UnixOSProcessPlugin", "primitiveSendSigabrtTo\000\000", (void*)primitiveSendSigabrtTo},
 	{"UnixOSProcessPlugin", "primitiveSendSigalrmTo\000\000", (void*)primitiveSendSigalrmTo},
 	{"UnixOSProcessPlugin", "primitiveSendSigchldTo\000\000", (void*)primitiveSendSigchldTo},
@@ -4714,7 +4727,7 @@
 signed char primitiveFixPointersInArrayOfStringsAccessorDepth = 1;
 signed char primitiveForkAndExecInDirectoryAccessorDepth = 1;
 signed char primitiveForkExecAccessorDepth = 1;
-signed char primitiveForwardSignalToSemaphoreAccessorDepth = 1;
+signed char primitiveForwardSignalToSemaphoreAccessorDepth = 2;
 signed char primitiveGetPGidAccessorDepth = 0;
 signed char primitiveGetStdErrHandleWithSessionIdentifierAccessorDepth = 1;
 signed char primitiveGetStdInHandleWithSessionIdentifierAccessorDepth = 1;
@@ -4727,7 +4740,7 @@
 signed char primitivePutEnvAccessorDepth = 2;
 signed char primitiveRealpathAccessorDepth = 0;
 signed char primitiveReapChildProcessAccessorDepth = 0;
-signed char primitiveSemaIndexForAccessorDepth = 0;
+signed char primitiveSemaIndexForAccessorDepth = 1;
 signed char primitiveSendSigabrtToAccessorDepth = 0;
 signed char primitiveSendSigalrmToAccessorDepth = 0;
 signed char primitiveSendSigchldToAccessorDepth = 0;

Modified: branches/Cog/nsspursrc/plugins/Win32OSProcessPlugin/Win32OSProcessPlugin.c
===================================================================
--- branches/Cog/nsspursrc/plugins/Win32OSProcessPlugin/Win32OSProcessPlugin.c	2015-05-17 20:13:47 UTC (rev 3347)
+++ branches/Cog/nsspursrc/plugins/Win32OSProcessPlugin/Win32OSProcessPlugin.c	2015-05-17 23:03:01 UTC (rev 3348)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	VMPluginCodeGenerator VMMaker.oscog-eem.1113 uuid: 9b08eea7-d3db-440f-ba64-16abc799fcf8
+	VMPluginCodeGenerator VMMaker.oscog-eem.1311 uuid: 61f8144b-089d-4ca4-9e81-4ccfa6de0fc3
    from
 	Win32OSProcessPlugin VMConstruction-Plugins-OSProcessPlugin.oscog-eem.50 uuid: 67b1e805-4efd-476c-8cf3-b4a5e14e22a9
  */
@@ -434,6 +434,7 @@
     volatile int index;
     struct {int count; HANDLE *handles; int semaIndex;} *threadArgs;
 
+	index = 0;
 	threadArgs = args;
 	count= threadArgs->count;
 	handles= threadArgs->handles;
@@ -895,6 +896,8 @@
     FILEHANDLETYPE *writerIOStreamPtr;
     SQFile *writerPtr;
 
+	readerIOStream = 0;
+	writerIOStream = 0;
 
 	/* Create the anonymous OS pipe */
 
@@ -956,6 +959,8 @@
     FILEHANDLETYPE *writerIOStreamPtr;
     SQFile *writerPtr;
 
+	readerIOStream = 0;
+	writerIOStream = 0;
 
 	/* Create the anonymous OS pipe */
 
@@ -1128,6 +1133,7 @@
     DWORD exitStatus;
     HANDLE handle;
 
+	exitStatus = 0;
 	if (((handle = handleFrom(stackObjectValue(0)))) == null) {
 		return null;
 	}
@@ -1453,6 +1459,8 @@
     FILEHANDLETYPE *writerIOStreamPtr;
     SQFile *writerPtr;
 
+	readerIOStream = 0;
+	writerIOStream = 0;
 
 	/* Create the anonymous OS pipe */
 
@@ -1515,6 +1523,8 @@
     FILEHANDLETYPE *writerIOStreamPtr;
     SQFile *writerPtr;
 
+	readerIOStream = 0;
+	writerIOStream = 0;
 
 	/* Create the anonymous OS pipe */
 
@@ -1573,6 +1583,7 @@
     static struct {int index; HANDLE handle;} threadArgs;
     DWORD threadID;
 
+	threadID = 0;
 	index = stackIntegerValue(0);
 	if (index >= readCharArraySize) {
 		return primitiveFail();
@@ -1856,6 +1867,8 @@
     sqInt index;
     struct {int index; HANDLE handle;} *threadArgs;
 
+	handle = 0;
+	index = 0;
 	threadArgs = args;
 	index = threadArgs->index;
 	handle = threadArgs->handle;
@@ -2137,6 +2150,7 @@
 	/* Complete setup of one handler before doing the next. Mutex will be
 	   released in the newly started thread. */
 
+	threadID = 0;
 	waitForThreadMutex(exitThreadMutexHandle());
 	threadArgs.count= arraySize;
 	threadArgs.handles= handleArrayPointer;
@@ -2328,7 +2342,7 @@
 	{"Win32OSProcessPlugin", "initialiseModule", (void*)initialiseModule},
 	{"Win32OSProcessPlugin", "moduleUnloaded", (void*)moduleUnloaded},
 	{"Win32OSProcessPlugin", "primitiveAllocConsole\000\377", (void*)primitiveAllocConsole},
-	{"Win32OSProcessPlugin", "primitiveBufferValuesAt\000\000", (void*)primitiveBufferValuesAt},
+	{"Win32OSProcessPlugin", "primitiveBufferValuesAt\000\001", (void*)primitiveBufferValuesAt},
 	{"Win32OSProcessPlugin", "primitiveCanAccessChildProcess\000\001", (void*)primitiveCanAccessChildProcess},
 	{"Win32OSProcessPlugin", "primitiveCloseHandle\000\001", (void*)primitiveCloseHandle},
 	{"Win32OSProcessPlugin", "primitiveCommand\000\002", (void*)primitiveCommand},
@@ -2370,7 +2384,7 @@
 
 #else /* ifdef SQ_BUILTIN_PLUGIN */
 
-signed char primitiveBufferValuesAtAccessorDepth = 0;
+signed char primitiveBufferValuesAtAccessorDepth = 1;
 signed char primitiveCanAccessChildProcessAccessorDepth = 1;
 signed char primitiveCloseHandleAccessorDepth = 1;
 signed char primitiveCommandAccessorDepth = 2;

Modified: branches/Cog/nsspursrc/plugins/ZipPlugin/ZipPlugin.c
===================================================================
--- branches/Cog/nsspursrc/plugins/ZipPlugin/ZipPlugin.c	2015-05-17 20:13:47 UTC (rev 3347)
+++ branches/Cog/nsspursrc/plugins/ZipPlugin/ZipPlugin.c	2015-05-17 23:03:01 UTC (rev 3348)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	VMPluginCodeGenerator VMMaker.oscog-eem.1145 uuid: 945d0a43-e29d-4fb4-a1b8-263465636aec
+	VMPluginCodeGenerator VMMaker.oscog-eem.1311 uuid: 61f8144b-089d-4ca4-9e81-4ccfa6de0fc3
    from
-	DeflatePlugin VMMaker.oscog-eem.1145 uuid: 945d0a43-e29d-4fb4-a1b8-263465636aec
+	DeflatePlugin VMMaker.oscog-eem.1311 uuid: 61f8144b-089d-4ca4-9e81-4ccfa6de0fc3
  */
-static char __buildInfo[] = "DeflatePlugin VMMaker.oscog-eem.1145 uuid: 945d0a43-e29d-4fb4-a1b8-263465636aec " __DATE__ ;
+static char __buildInfo[] = "DeflatePlugin VMMaker.oscog-eem.1311 uuid: 61f8144b-089d-4ca4-9e81-4ccfa6de0fc3 " __DATE__ ;
 
 
 
@@ -139,9 +139,9 @@
 struct VirtualMachine* interpreterProxy;
 static const char *moduleName =
 #ifdef SQUEAK_BUILTIN_PLUGIN
-	"ZipPlugin VMMaker.oscog-eem.1145 (i)"
+	"ZipPlugin VMMaker.oscog-eem.1311 (i)"
 #else
-	"ZipPlugin VMMaker.oscog-eem.1145 (e)"
+	"ZipPlugin VMMaker.oscog-eem.1311 (e)"
 #endif
 ;
 static sqInt readStreamInstSize;
@@ -347,6 +347,8 @@
     unsigned int prevEntry1;
     unsigned int prevEntry2;
 
+	hereLength = 0;
+	hereMatch = 0;
 	if (zipBlockPos > lastIndex) {
 		return 0;
 	}
@@ -708,7 +710,7 @@
 	/* zipWriteLimit := interpreterProxy fetchInteger: 3 ofObject: rcvr. */
 
 	zipReadLimit = fetchIntegerofObject(2, rcvr);
-	oop = fetchPointerofObject(writeStreamInstSize + 0, rcvr);
+	oop = fetchPointerofObject(writeStreamInstSize, rcvr);
 	if (!((isWords(oop))
 		 && ((slotSizeOf(oop)) == DeflateHashTableSize))) {
 		return 0;
@@ -939,7 +941,7 @@
 		return primitiveFail();
 	}
 	zipReadLimit = fetchIntegerofObject(2, rcvr);
-	zipState = fetchIntegerofObject(readStreamInstSize + 0, rcvr);
+	zipState = fetchIntegerofObject(readStreamInstSize, rcvr);
 	zipBitBuf = fetchIntegerofObject(readStreamInstSize + 1, rcvr);
 	zipBitPos = fetchIntegerofObject(readStreamInstSize + 2, rcvr);
 	zipSourcePos = fetchIntegerofObject(readStreamInstSize + 4, rcvr);
@@ -976,7 +978,7 @@
 		/* store modified values back */
 
 		storeIntegerofObjectwithValue(2, rcvr, zipReadLimit + 1);
-		storeIntegerofObjectwithValue(readStreamInstSize + 0, rcvr, zipState);
+		storeIntegerofObjectwithValue(readStreamInstSize, rcvr, zipState);
 		storeIntegerofObjectwithValue(readStreamInstSize + 1, rcvr, zipBitBuf);
 		storeIntegerofObjectwithValue(readStreamInstSize + 2, rcvr, zipBitPos);
 		storeIntegerofObjectwithValue(readStreamInstSize + 4, rcvr, zipSourcePos + 1);
@@ -1854,7 +1856,7 @@
 	{"ZipPlugin", "primitiveInflateDecompressBlock\000\002", (void*)primitiveInflateDecompressBlock},
 	{"ZipPlugin", "primitiveUpdateAdler32\000\001", (void*)primitiveUpdateAdler32},
 	{"ZipPlugin", "primitiveUpdateGZipCrc32\000\001", (void*)primitiveUpdateGZipCrc32},
-	{"ZipPlugin", "primitiveZipSendBlock\000\002", (void*)primitiveZipSendBlock},
+	{"ZipPlugin", "primitiveZipSendBlock\000\004", (void*)primitiveZipSendBlock},
 	{"ZipPlugin", "setInterpreter", (void*)setInterpreter},
 	{NULL, NULL, NULL}
 };
@@ -1866,6 +1868,6 @@
 signed char primitiveInflateDecompressBlockAccessorDepth = 2;
 signed char primitiveUpdateAdler32AccessorDepth = 1;
 signed char primitiveUpdateGZipCrc32AccessorDepth = 1;
-signed char primitiveZipSendBlockAccessorDepth = 2;
+signed char primitiveZipSendBlockAccessorDepth = 4;
 
 #endif /* ifdef SQ_BUILTIN_PLUGIN */

Modified: branches/Cog/nsspursrc/vm/cogit.h
===================================================================
--- branches/Cog/nsspursrc/vm/cogit.h	2015-05-17 20:13:47 UTC (rev 3347)
+++ branches/Cog/nsspursrc/vm/cogit.h	2015-05-17 23:03:01 UTC (rev 3348)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGenerator VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2
+	CCodeGenerator VMMaker.oscog-eem.1311 uuid: 61f8144b-089d-4ca4-9e81-4ccfa6de0fc3
  */
 
 

Modified: branches/Cog/nsspursrc/vm/cogitARMv5.c
===================================================================
--- branches/Cog/nsspursrc/vm/cogitARMv5.c	2015-05-17 20:13:47 UTC (rev 3347)
+++ branches/Cog/nsspursrc/vm/cogitARMv5.c	2015-05-17 23:03:01 UTC (rev 3348)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGenerator VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2
+	CCodeGenerator VMMaker.oscog-eem.1311 uuid: 61f8144b-089d-4ca4-9e81-4ccfa6de0fc3
    from
-	StackToRegisterMappingCogit VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2
+	StackToRegisterMappingCogit VMMaker.oscog-eem.1311 uuid: 61f8144b-089d-4ca4-9e81-4ccfa6de0fc3
  */
-static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1306 uuid: 88864d96-33bb-4285-9fb5-02d57043a1e2 " __DATE__ ;
+static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.1311 uuid: 61f8144b-089d-4ca4-9e81-4ccfa6de0fc3 " __DATE__ ;
 char *__cogitBuildInfo = __buildInfo;
 
 
@@ -7842,7 +7842,7 @@
 			assert(((((usqInt) mapByte) >> AnnotationShift) == IsDisplacementX2N)
 			 || ((((usqInt) mapByte) >> AnnotationShift) == IsAnnotationExtension));
 			if (mapByte < (IsAnnotationExtension << AnnotationShift)) {
-				mcpc1 += ((mapByte) << AnnotationShift) * 4;
+				mcpc1 += ((mapByte - DisplacementX2N) << AnnotationShift) * 4;
 			}
 		}
 		map -= 1;
@@ -8769,7 +8769,7 @@
 	address = addressOfEndOfCaseinCPIC(((cPIC->cPICNumCases)) - 1, cPIC);
 	size = generateInstructionsAt(address);
 	end = outputInstructionsAt(address);
-	flushICacheFromto(processor, address, (((sqInt)cPIC)) + closedPICSize);
+	flushICacheFromto(processor, ((sqInt)cPIC), (((sqInt)cPIC)) + closedPICSize);
 	(cPIC->cPICNumCases = ((cPIC->cPICNumCases)) + 1);
 	return 0;
 }
@@ -9618,7 +9618,7 @@
 {
     sqInt classIndex;
     sqInt i;
-    usqInt pc;
+    sqInt pc;
 
 	pc = (((((usqInt)cPIC)) + firstCPICCaseOffset) + cPICCaseSize) - (jumpLongConditionalByteSize(backEnd));
 	for (i = 2; i <= ((cPIC->cPICNumCases)); i += 1) {
@@ -9828,6 +9828,7 @@
 	assert(((pic->cPICNumCases)) == numCases);
 	assert((callTargetFromReturnAddress(backEnd, (((sqInt)pic)) + missOffset)) == (picAbortTrampolineFor(numArgs)));
 	assert(size == (roundUpLength(size)));
+	flushICacheFromto(processor, ((usqInt)pic), (((usqInt)pic)) + size);
 	return pic;
 }
 
@@ -9880,6 +9881,7 @@
 		: 0));
 	assert((callTargetFromReturnAddress(backEnd, (((sqInt)method)) + missOffset)) == (methodAbortTrampolineFor((method->cmNumArgs))));
 	assert(size == (roundUpLength(size)));
+	flushICacheFromto(processor, ((usqInt)method), (((usqInt)method)) + size);
 	return method;
 }
 
@@ -9905,6 +9907,7 @@
 	assert(((pic->cmNumArgs)) == numArgs);
 	assert((callTargetFromReturnAddress(backEnd, (((sqInt)pic)) + missOffset)) == (picAbortTrampolineFor(numArgs)));
 	assert(size == (roundUpLength(size)));
+	flushICacheFromto(processor, ((usqInt)pic), (((usqInt)pic)) + size);
 	return pic;
 }
 
@@ -9937,7 +9940,7 @@
 		annotation = ((usqInt) mapByte) >> AnnotationShift;
 		if (annotation != IsAnnotationExtension) {
 			mcpc += 4 * ((annotation == IsDisplacementX2N
-	? (mapByte) << AnnotationShift
+	? (mapByte - DisplacementX2N) << AnnotationShift
 	: mapByte & DisplacementMask));
 		}
 		if (mcpc >= targetMcpc) {
@@ -10028,7 +10031,7 @@
 		}
 		else {
 			if (mapByte < (IsAnnotationExtension << AnnotationShift)) {
-				mcpc += ((mapByte) << AnnotationShift) * 4;
+				mcpc += ((mapByte - DisplacementX2N) << AnnotationShift) * 4;
 			}
 		}
 		map -= 1;
@@ -10306,6 +10309,7 @@
 	/* begin RetN: */
 	genoperand(RetN, 0);

@@ Diff output truncated at 50000 characters. @@


More information about the Vm-dev mailing list