[Vm-dev] [commit][3180] CogVM source as per VMMaker.oscog-eem.983

commits at squeakvm.org commits at squeakvm.org
Sat Dec 13 02:53:27 UTC 2014


Revision: 3180
Author:   eliot
Date:     2014-12-12 18:53:22 -0800 (Fri, 12 Dec 2014)
Log Message:
-----------
CogVM source as per VMMaker.oscog-eem.983

Merge with r3071 of http://squeakvm.org/svn/squeak/trunk

Provide accessors in InterpreterPlugin to answer integer objects for positive
and signed machine words.  Use these to make the Alien plugins 64-bit capable.


Fix unreachableMethods to do a proper tramsitive closure and answer methods
instead of selectors, and to avoid including positiveMachineIntegerFor:
et al in every plugin add a dead code removal pass.  Hence all plugins
regenerated, nearly all of whom lose unused msg sqAssert & getInterpreter defs.

Modified Paths:
--------------
    branches/Cog/nscogsrc/plugins/AioPlugin/AioPlugin.c
    branches/Cog/nscogsrc/plugins/AsynchFilePlugin/AsynchFilePlugin.c
    branches/Cog/nscogsrc/plugins/B2DPlugin/B2DPlugin.c
    branches/Cog/nscogsrc/plugins/BMPReadWriterPlugin/BMPReadWriterPlugin.c
    branches/Cog/nscogsrc/plugins/BitBltPlugin/BitBltPlugin.c
    branches/Cog/nscogsrc/plugins/DSAPrims/DSAPrims.c
    branches/Cog/nscogsrc/plugins/DropPlugin/DropPlugin.c
    branches/Cog/nscogsrc/plugins/FileCopyPlugin/FileCopyPlugin.c
    branches/Cog/nscogsrc/plugins/FilePlugin/FilePlugin.c
    branches/Cog/nscogsrc/plugins/FloatArrayPlugin/FloatArrayPlugin.c
    branches/Cog/nscogsrc/plugins/FloatMathPlugin/FloatMathPlugin.c
    branches/Cog/nscogsrc/plugins/IA32ABI/IA32ABI.c
    branches/Cog/nscogsrc/plugins/ImmX11Plugin/ImmX11Plugin.c
    branches/Cog/nscogsrc/plugins/JPEGReadWriter2Plugin/JPEGReadWriter2Plugin.c
    branches/Cog/nscogsrc/plugins/JPEGReaderPlugin/JPEGReaderPlugin.c
    branches/Cog/nscogsrc/plugins/LargeIntegers/LargeIntegers.c
    branches/Cog/nscogsrc/plugins/Matrix2x3Plugin/Matrix2x3Plugin.c
    branches/Cog/nscogsrc/plugins/MiscPrimitivePlugin/MiscPrimitivePlugin.c
    branches/Cog/nscogsrc/plugins/RePlugin/RePlugin.c
    branches/Cog/nscogsrc/plugins/SecurityPlugin/SecurityPlugin.c
    branches/Cog/nscogsrc/plugins/SocketPlugin/SocketPlugin.c
    branches/Cog/nscogsrc/plugins/SoundPlugin/SoundPlugin.c
    branches/Cog/nscogsrc/plugins/SqueakSSL/SqueakSSL.c
    branches/Cog/nscogsrc/plugins/UUIDPlugin/UUIDPlugin.c
    branches/Cog/nscogsrc/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c
    branches/Cog/nscogsrc/plugins/VMProfileLinuxSupportPlugin/VMProfileLinuxSupportPlugin.c
    branches/Cog/nscogsrc/plugins/VMProfileMacSupportPlugin/VMProfileMacSupportPlugin.c
    branches/Cog/nscogsrc/plugins/Win32OSProcessPlugin/Win32OSProcessPlugin.c
    branches/Cog/nscogsrc/plugins/ZipPlugin/ZipPlugin.c
    branches/Cog/platforms/Mac OS/plugins/AsynchFilePlugin/sqMacAsyncFilePrims.c
    branches/Cog/platforms/unix/config/configure
    branches/Cog/platforms/unix/plugins/AsynchFilePlugin/sqUnixAsynchFile.c
    branches/Cog/platforms/unix/plugins/IA32ABI/acinclude.m4
    branches/Cog/src/plugins/ADPCMCodecPlugin/ADPCMCodecPlugin.c
    branches/Cog/src/plugins/AioPlugin/AioPlugin.c
    branches/Cog/src/plugins/AsynchFilePlugin/AsynchFilePlugin.c
    branches/Cog/src/plugins/B2DPlugin/B2DPlugin.c
    branches/Cog/src/plugins/B3DAcceleratorPlugin/B3DAcceleratorPlugin.c
    branches/Cog/src/plugins/BMPReadWriterPlugin/BMPReadWriterPlugin.c
    branches/Cog/src/plugins/BitBltPlugin/BitBltPlugin.c
    branches/Cog/src/plugins/BochsIA32Plugin/BochsIA32Plugin.c
    branches/Cog/src/plugins/CameraPlugin/CameraPlugin.c
    branches/Cog/src/plugins/CroquetPlugin/CroquetPlugin.c
    branches/Cog/src/plugins/DSAPrims/DSAPrims.c
    branches/Cog/src/plugins/DropPlugin/DropPlugin.c
    branches/Cog/src/plugins/FFTPlugin/FFTPlugin.c
    branches/Cog/src/plugins/FileCopyPlugin/FileCopyPlugin.c
    branches/Cog/src/plugins/FilePlugin/FilePlugin.c
    branches/Cog/src/plugins/FloatArrayPlugin/FloatArrayPlugin.c
    branches/Cog/src/plugins/FloatMathPlugin/FloatMathPlugin.c
    branches/Cog/src/plugins/GdbARMPlugin/GdbARMPlugin.c
    branches/Cog/src/plugins/GeniePlugin/GeniePlugin.c
    branches/Cog/src/plugins/HostWindowPlugin/HostWindowPlugin.c
    branches/Cog/src/plugins/IA32ABI/IA32ABI.c
    branches/Cog/src/plugins/ImmX11Plugin/ImmX11Plugin.c
    branches/Cog/src/plugins/InternetConfigPlugin/InternetConfigPlugin.c
    branches/Cog/src/plugins/JPEGReadWriter2Plugin/JPEGReadWriter2Plugin.c
    branches/Cog/src/plugins/JPEGReaderPlugin/JPEGReaderPlugin.c
    branches/Cog/src/plugins/JoystickTabletPlugin/JoystickTabletPlugin.c
    branches/Cog/src/plugins/Klatt/Klatt.c
    branches/Cog/src/plugins/LargeIntegers/LargeIntegers.c
    branches/Cog/src/plugins/LocalePlugin/LocalePlugin.c
    branches/Cog/src/plugins/MIDIPlugin/MIDIPlugin.c
    branches/Cog/src/plugins/MacMenubarPlugin/MacMenubarPlugin.c
    branches/Cog/src/plugins/Matrix2x3Plugin/Matrix2x3Plugin.c
    branches/Cog/src/plugins/MiscPrimitivePlugin/MiscPrimitivePlugin.c
    branches/Cog/src/plugins/Mpeg3Plugin/Mpeg3Plugin.c
    branches/Cog/src/plugins/QuicktimePlugin/QuicktimePlugin.c
    branches/Cog/src/plugins/RePlugin/RePlugin.c
    branches/Cog/src/plugins/ScratchPlugin/ScratchPlugin.c
    branches/Cog/src/plugins/SecurityPlugin/SecurityPlugin.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/SqueakSSL/SqueakSSL.c
    branches/Cog/src/plugins/StarSqueakPlugin/StarSqueakPlugin.c
    branches/Cog/src/plugins/UUIDPlugin/UUIDPlugin.c
    branches/Cog/src/plugins/UnicodePlugin/UnicodePlugin.c
    branches/Cog/src/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c
    branches/Cog/src/plugins/VMProfileLinuxSupportPlugin/VMProfileLinuxSupportPlugin.c
    branches/Cog/src/plugins/VMProfileMacSupportPlugin/VMProfileMacSupportPlugin.c
    branches/Cog/src/plugins/WeDoPlugin/WeDoPlugin.c
    branches/Cog/src/plugins/Win32OSProcessPlugin/Win32OSProcessPlugin.c
    branches/Cog/src/plugins/XDisplayControlPlugin/XDisplayControlPlugin.c
    branches/Cog/src/plugins/ZipPlugin/ZipPlugin.c

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

Modified: branches/Cog/nscogsrc/plugins/AioPlugin/AioPlugin.c
===================================================================
--- branches/Cog/nscogsrc/plugins/AioPlugin/AioPlugin.c	2014-12-13 01:05:57 UTC (rev 3179)
+++ branches/Cog/nscogsrc/plugins/AioPlugin/AioPlugin.c	2014-12-13 02:53:22 UTC (rev 3180)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	VMPluginCodeGenerator VMMaker.oscog-eem.948 uuid: 9323b2ad-f5cf-4aca-8f31-67eb5616ccca
+	VMPluginCodeGenerator VMMaker.oscog-eem.983 uuid: 4cdca841-6318-4c49-95de-8c47d0d7e91d
    from
-	UnixAioPlugin VMConstruction-Plugins-AioPlugin-eem.16 uuid: 88d89f3d-80f8-4dbc-977a-78df02bbe8be
+	UnixAioPlugin VMConstruction-Plugins-AioPlugin-eem.17 uuid: a2b39cb2-e681-4bc3-a777-f03b2e3f2de0
  */
-static char __buildInfo[] = "UnixAioPlugin VMConstruction-Plugins-AioPlugin-eem.16 uuid: 88d89f3d-80f8-4dbc-977a-78df02bbe8be " __DATE__ ;
+static char __buildInfo[] = "UnixAioPlugin VMConstruction-Plugins-AioPlugin-eem.17 uuid: a2b39cb2-e681-4bc3-a777-f03b2e3f2de0 " __DATE__ ;
 
 
 
@@ -52,10 +52,8 @@
 static FILEHANDLETYPE fileHandleFrom(sqInt sqFileStructByteArray);
 static sqInt fileRecordSize(void);
 static SQFile * fileValueOf(sqInt anSQFileRecord);
-static VirtualMachine * getInterpreter(void);
 EXPORT(const char*) getModuleName(void);
 static sqInt getThisSessionIdentifier(void);
-static sqInt halt(void);
 EXPORT(sqInt) initialiseModule(void);
 static sqInt isNonNullSQFile(sqInt objectPointer);
 static sqInt isNullSQSocket(sqInt objectPointer);
@@ -63,7 +61,6 @@
 static sqInt isSQSocketObject(sqInt objectPointer);
 static sqInt isValidFileSession(sqInt objectPointer);
 EXPORT(sqInt) moduleUnloaded(char *aModuleName);
-static sqInt msg(char *s);
 EXPORT(sqInt) primitiveAioDisable(void);
 EXPORT(sqInt) primitiveAioEnable(void);
 EXPORT(sqInt) primitiveAioHandle(void);
@@ -123,9 +120,9 @@
 struct VirtualMachine* interpreterProxy;
 static const char *moduleName =
 #ifdef SQUEAK_BUILTIN_PLUGIN
-	"AioPlugin VMConstruction-Plugins-AioPlugin-eem.16 (i)"
+	"AioPlugin VMConstruction-Plugins-AioPlugin-eem.17 (i)"
 #else
-	"AioPlugin VMConstruction-Plugins-AioPlugin-eem.16 (e)"
+	"AioPlugin VMConstruction-Plugins-AioPlugin-eem.17 (e)"
 #endif
 ;
 
@@ -205,15 +202,6 @@
 }
 
 
-/*	Note: This is coded so that plugins can be run from Squeak. */
-
-static VirtualMachine *
-getInterpreter(void)
-{
-	return interpreterProxy;
-}
-
-
 /*	Note: This is hardcoded so it can be run from Squeak.
 	The module name is used for validating a module *after*
 	it is loaded to check if it does really contain the module
@@ -231,13 +219,6 @@
 	return getThisSessionID();
 }
 
-static sqInt
-halt(void)
-{
-	;
-	return 0;
-}
-
 EXPORT(sqInt)
 initialiseModule(void)
 {
@@ -334,14 +315,7 @@
 {
 }
 
-static sqInt
-msg(char *s)
-{
-	fprintf(stderr, "\n%s: %s", moduleName, s);
-	return 0;
-}
 
-
 /*	Definitively disable asynchronous event notification for a descriptor. The
 	parameter is an OS level integer file descriptor. */
 

Modified: branches/Cog/nscogsrc/plugins/AsynchFilePlugin/AsynchFilePlugin.c
===================================================================
--- branches/Cog/nscogsrc/plugins/AsynchFilePlugin/AsynchFilePlugin.c	2014-12-13 01:05:57 UTC (rev 3179)
+++ branches/Cog/nscogsrc/plugins/AsynchFilePlugin/AsynchFilePlugin.c	2014-12-13 02:53:22 UTC (rev 3180)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	SmartSyntaxPluginCodeGenerator VMMaker.oscog-eem.974 uuid: 7ca9044b-c2d1-4605-b2b6-2b8ffc66c096
+	SmartSyntaxPluginCodeGenerator VMMaker.oscog-eem.983 uuid: 4cdca841-6318-4c49-95de-8c47d0d7e91d
    from
-	AsynchFilePlugin VMMaker.oscog-eem.974 uuid: 7ca9044b-c2d1-4605-b2b6-2b8ffc66c096
+	AsynchFilePlugin VMMaker.oscog-eem.983 uuid: 4cdca841-6318-4c49-95de-8c47d0d7e91d
  */
-static char __buildInfo[] = "AsynchFilePlugin VMMaker.oscog-eem.974 uuid: 7ca9044b-c2d1-4605-b2b6-2b8ffc66c096 " __DATE__ ;
+static char __buildInfo[] = "AsynchFilePlugin VMMaker.oscog-eem.983 uuid: 4cdca841-6318-4c49-95de-8c47d0d7e91d " __DATE__ ;
 
 
 
@@ -43,12 +43,9 @@
 
 /*** Function Prototypes ***/
 static AsyncFile * asyncFileValueOf(sqInt oop);
-static VirtualMachine * getInterpreter(void);
 EXPORT(const char*) getModuleName(void);
-static sqInt halt(void);
 EXPORT(sqInt) initialiseModule(void);
 EXPORT(sqInt) moduleUnloaded(char *aModuleName);
-static sqInt msg(char *s);
 EXPORT(sqInt) primitiveAsyncFileClose(void);
 EXPORT(sqInt) primitiveAsyncFileOpen(void);
 EXPORT(sqInt) primitiveAsyncFileReadResult(void);
@@ -105,9 +102,9 @@
 struct VirtualMachine* interpreterProxy;
 static const char *moduleName =
 #ifdef SQUEAK_BUILTIN_PLUGIN
-	"AsynchFilePlugin VMMaker.oscog-eem.974 (i)"
+	"AsynchFilePlugin VMMaker.oscog-eem.983 (i)"
 #else
-	"AsynchFilePlugin VMMaker.oscog-eem.974 (e)"
+	"AsynchFilePlugin VMMaker.oscog-eem.983 (e)"
 #endif
 ;
 static void * sCOAFfn;
@@ -130,15 +127,6 @@
 }
 
 
-/*	Note: This is coded so that plugins can be run from Squeak. */
-
-static VirtualMachine *
-getInterpreter(void)
-{
-	return interpreterProxy;
-}
-
-
 /*	Note: This is hardcoded so it can be run from Squeak.
 	The module name is used for validating a module *after*
 	it is loaded to check if it does really contain the module
@@ -150,14 +138,7 @@
 	return moduleName;
 }
 
-static sqInt
-halt(void)
-{
-	;
-	return 0;
-}
 
-
 /*	Initialise the module */
 
 EXPORT(sqInt)
@@ -182,13 +163,6 @@
 	}
 }
 
-static sqInt
-msg(char *s)
-{
-	fprintf(stderr, "\n%s: %s", moduleName, s);
-	return 0;
-}
-
 EXPORT(sqInt)
 primitiveAsyncFileClose(void)
 {

Modified: branches/Cog/nscogsrc/plugins/B2DPlugin/B2DPlugin.c
===================================================================
--- branches/Cog/nscogsrc/plugins/B2DPlugin/B2DPlugin.c	2014-12-13 01:05:57 UTC (rev 3179)
+++ branches/Cog/nscogsrc/plugins/B2DPlugin/B2DPlugin.c	2014-12-13 02:53:22 UTC (rev 3180)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	VMPluginCodeGenerator VMMaker.oscog-eem.933 uuid: 5a37067c-b76b-4ada-9399-1de11632acd8
+	VMPluginCodeGenerator VMMaker.oscog-eem.983 uuid: 4cdca841-6318-4c49-95de-8c47d0d7e91d
    from
-	BalloonEnginePlugin VMMaker.oscog-eem.933 uuid: 5a37067c-b76b-4ada-9399-1de11632acd8
+	BalloonEnginePlugin VMMaker.oscog-eem.983 uuid: 4cdca841-6318-4c49-95de-8c47d0d7e91d
  */
-static char __buildInfo[] = "BalloonEnginePlugin VMMaker.oscog-eem.933 uuid: 5a37067c-b76b-4ada-9399-1de11632acd8 " __DATE__ ;
+static char __buildInfo[] = "BalloonEnginePlugin VMMaker.oscog-eem.983 uuid: 4cdca841-6318-4c49-95de-8c47d0d7e91d " __DATE__ ;
 
 
 
@@ -438,7 +438,6 @@
 static sqInt firstPointListGet(void);
 static sqInt firstPointListPut(sqInt value);
 static sqInt freeStackFillEntry(void);
-static VirtualMachine * getInterpreter(void);
 EXPORT(const char*) getModuleName(void);
 static sqInt getSortsbefore(sqInt edge1, sqInt edge2);
 static sqInt getStartGet(void);
@@ -448,7 +447,6 @@
 static sqInt gradientRampLengthOf(sqInt fill);
 static sqInt gradientRampLengthOfput(sqInt fill, sqInt value);
 static int * gradientRampOf(sqInt fill);
-static sqInt halt(void);
 static sqInt hasColorTransform(void);
 static sqInt hasColorTransformGet(void);
 static sqInt hasColorTransformPut(sqInt value);
@@ -540,7 +538,6 @@
 static sqInt makeUnsignedFrom(sqInt someIntegerValue);
 EXPORT(sqInt) moduleUnloaded(char *aModuleName);
 static sqInt moveAETEntryFromedgex(sqInt index, sqInt edge, sqInt xValue);
-static sqInt msg(char *s);
 static sqInt needAvailableSpace(sqInt nSlots);
 static sqInt needsFlush(void);
 static sqInt needsFlushGet(void);
@@ -658,7 +655,7 @@
 static sqInt stepToFirstWideLine(void);
 static sqInt stepToFirstWideLineInat(sqInt line, sqInt yValue);
 static sqInt stepToNextBezier(void);
-static sqInt stepToNextBezierForwardat(sqInt updateData, sqInt yValue);
+static sqInt stepToNextBezierForwardat(int *updateData, sqInt yValue);
 static sqInt stepToNextBezierInat(sqInt bezier, sqInt yValue);
 static sqInt stepToNextLine(void);
 static sqInt stepToNextLineInat(sqInt line, sqInt yValue);
@@ -839,9 +836,9 @@
 static void * loadBBFn;
 static const char *moduleName =
 #ifdef SQUEAK_BUILTIN_PLUGIN
-	"B2DPlugin VMMaker.oscog-eem.933 (i)"
+	"B2DPlugin VMMaker.oscog-eem.983 (i)"
 #else
-	"B2DPlugin VMMaker.oscog-eem.933 (e)"
+	"B2DPlugin VMMaker.oscog-eem.983 (e)"
 #endif
 ;
 static int* objBuffer;
@@ -5107,15 +5104,6 @@
 }
 
 
-/*	Note: This is coded so that plugins can be run from Squeak. */
-
-static VirtualMachine *
-getInterpreter(void)
-{
-	return interpreterProxy;
-}
-
-
 /*	Note: This is hardcoded so it can be run from Squeak.
 	The module name is used for validating a module *after*
 	it is loaded to check if it does really contain the module
@@ -5189,13 +5177,6 @@
 }
 
 static sqInt
-halt(void)
-{
-	;
-	return 0;
-}
-
-static sqInt
 hasColorTransform(void)
 {
 	return (workBuffer[GWHasColorTransform]) != 0;
@@ -8568,14 +8549,7 @@
 	aetBuffer[newIndex] = edge;
 }
 
-static sqInt
-msg(char *s)
-{
-	fprintf(stderr, "\n%s: %s", moduleName, s);
-	return 0;
-}
 
-
 /*	Check if we have n slots available */
 
 static sqInt
@@ -12302,7 +12276,7 @@
     sqInt startX;
     sqInt startY;
     int *updateData;
-    sqInt updateData1;
+    int *updateData1;
     sqInt viaX;
     sqInt viaY;
     sqInt word1;
@@ -12361,11 +12335,11 @@
 		/* begin stepToNextBezierIn:at: */
 		/* begin stepToNextBezierForward:at: */
 		/* begin bezierUpdateDataOf: */
-		updateData1 = ((int *) ((objBuffer + bezier) + GBUpdateData));
-		lastX = (((int*) updateData1))[GBUpdateX];
-		lastY = (((int*) updateData1))[GBUpdateY];
-		fwDx1 = (((int*) updateData1))[GBUpdateDX];
-		fwDy1 = (((int*) updateData1))[GBUpdateDY];
+		updateData1 = (objBuffer + bezier) + GBUpdateData;
+		lastX = updateData1[GBUpdateX];
+		lastY = updateData1[GBUpdateY];
+		fwDx1 = updateData1[GBUpdateDX];
+		fwDy1 = updateData1[GBUpdateDY];
 
 		/* Step as long as we haven't yet reached minY and also
 		   as long as fwDy is greater than zero thus stepping down.
@@ -12377,13 +12351,13 @@
 		 && (fwDy1 >= 0)) {
 			lastX += ((signed)(fwDx1 + 32768) >> 16);
 			lastY += ((signed)(fwDy1 + 32768) >> 16);
-			fwDx1 += (((int*) updateData1))[GBUpdateDDX];
-			fwDy1 += (((int*) updateData1))[GBUpdateDDY];
+			fwDx1 += updateData1[GBUpdateDDX];
+			fwDy1 += updateData1[GBUpdateDDY];
 		}
-		(((int*) updateData1))[GBUpdateX] = lastX;
-		(((int*) updateData1))[GBUpdateY] = lastY;
-		(((int*) updateData1))[GBUpdateDX] = fwDx1;
-		(((int*) updateData1))[GBUpdateDY] = fwDy1;
+		updateData1[GBUpdateX] = lastX;
+		updateData1[GBUpdateY] = lastY;
+		updateData1[GBUpdateDX] = fwDx1;
+		updateData1[GBUpdateDY] = fwDy1;
 		xValue = ((signed)lastX >> 8);
 		objBuffer[bezier + GEXValue] = xValue;
 		objBuffer[bezier + GENumLines] = (deltaY - (yValue - startY));
@@ -12713,17 +12687,17 @@
     sqInt lastX;
     sqInt lastY;
     sqInt minY;
-    sqInt updateData;
+    int *updateData;
     sqInt xValue;
 
 	/* begin stepToNextBezierIn:at: */
 	/* begin stepToNextBezierForward:at: */
 	/* begin bezierUpdateDataOf: */
-	updateData = ((int *) ((objBuffer + (aetBuffer[workBuffer[GWAETStart]])) + GBUpdateData));
-	lastX = (((int*) updateData))[GBUpdateX];
-	lastY = (((int*) updateData))[GBUpdateY];
-	fwDx = (((int*) updateData))[GBUpdateDX];
-	fwDy = (((int*) updateData))[GBUpdateDY];
+	updateData = (objBuffer + (aetBuffer[workBuffer[GWAETStart]])) + GBUpdateData;
+	lastX = updateData[GBUpdateX];
+	lastY = updateData[GBUpdateY];
+	fwDx = updateData[GBUpdateDX];
+	fwDy = updateData[GBUpdateDY];
 
 	/* Step as long as we haven't yet reached minY and also
 	   as long as fwDy is greater than zero thus stepping down.
@@ -12735,13 +12709,13 @@
 	 && (fwDy >= 0)) {
 		lastX += ((signed)(fwDx + 32768) >> 16);
 		lastY += ((signed)(fwDy + 32768) >> 16);
-		fwDx += (((int*) updateData))[GBUpdateDDX];
-		fwDy += (((int*) updateData))[GBUpdateDDY];
+		fwDx += updateData[GBUpdateDDX];
+		fwDy += updateData[GBUpdateDDY];
 	}
-	(((int*) updateData))[GBUpdateX] = lastX;
-	(((int*) updateData))[GBUpdateY] = lastY;
-	(((int*) updateData))[GBUpdateDX] = fwDx;
-	(((int*) updateData))[GBUpdateDY] = fwDy;
+	updateData[GBUpdateX] = lastX;
+	updateData[GBUpdateY] = lastY;
+	updateData[GBUpdateDX] = fwDx;
+	updateData[GBUpdateDY] = fwDy;
 	xValue = ((signed)lastX >> 8);
 	objBuffer[(aetBuffer[workBuffer[GWAETStart]]) + GEXValue] = xValue;
 	return null;
@@ -12753,7 +12727,7 @@
 	not declaring updateData as 'int*' but casting it on every use. */
 
 static sqInt
-stepToNextBezierForwardat(sqInt updateData, sqInt yValue)
+stepToNextBezierForwardat(int *updateData, sqInt yValue)
 {
     sqInt fwDx;
     sqInt fwDy;
@@ -12761,10 +12735,10 @@
     sqInt lastY;
     sqInt minY;
 
-	lastX = (((int*) updateData))[GBUpdateX];
-	lastY = (((int*) updateData))[GBUpdateY];
-	fwDx = (((int*) updateData))[GBUpdateDX];
-	fwDy = (((int*) updateData))[GBUpdateDY];
+	lastX = updateData[GBUpdateX];
+	lastY = updateData[GBUpdateY];
+	fwDx = updateData[GBUpdateDX];
+	fwDy = updateData[GBUpdateDY];
 
 	/* Step as long as we haven't yet reached minY and also
 	   as long as fwDy is greater than zero thus stepping down.
@@ -12776,13 +12750,13 @@
 	 && (fwDy >= 0)) {
 		lastX += ((signed)(fwDx + 32768) >> 16);
 		lastY += ((signed)(fwDy + 32768) >> 16);
-		fwDx += (((int*) updateData))[GBUpdateDDX];
-		fwDy += (((int*) updateData))[GBUpdateDDY];
+		fwDx += updateData[GBUpdateDDX];
+		fwDy += updateData[GBUpdateDDY];
 	}
-	(((int*) updateData))[GBUpdateX] = lastX;
-	(((int*) updateData))[GBUpdateY] = lastY;
-	(((int*) updateData))[GBUpdateDX] = fwDx;
-	(((int*) updateData))[GBUpdateDY] = fwDy;
+	updateData[GBUpdateX] = lastX;
+	updateData[GBUpdateY] = lastY;
+	updateData[GBUpdateDX] = fwDx;
+	updateData[GBUpdateDY] = fwDy;
 	return ((signed)lastX >> 8);
 }
 
@@ -12797,16 +12771,16 @@
     sqInt lastX;
     sqInt lastY;
     sqInt minY;
-    sqInt updateData;
+    int *updateData;
     sqInt xValue;
 
 	/* begin stepToNextBezierForward:at: */
 	/* begin bezierUpdateDataOf: */
-	updateData = ((int *) ((objBuffer + bezier) + GBUpdateData));
-	lastX = (((int*) updateData))[GBUpdateX];
-	lastY = (((int*) updateData))[GBUpdateY];
-	fwDx = (((int*) updateData))[GBUpdateDX];
-	fwDy = (((int*) updateData))[GBUpdateDY];
+	updateData = (objBuffer + bezier) + GBUpdateData;
+	lastX = updateData[GBUpdateX];
+	lastY = updateData[GBUpdateY];
+	fwDx = updateData[GBUpdateDX];
+	fwDy = updateData[GBUpdateDY];
 
 	/* Step as long as we haven't yet reached minY and also
 	   as long as fwDy is greater than zero thus stepping down.
@@ -12818,13 +12792,13 @@
 	 && (fwDy >= 0)) {
 		lastX += ((signed)(fwDx + 32768) >> 16);
 		lastY += ((signed)(fwDy + 32768) >> 16);
-		fwDx += (((int*) updateData))[GBUpdateDDX];
-		fwDy += (((int*) updateData))[GBUpdateDDY];
+		fwDx += updateData[GBUpdateDDX];
+		fwDy += updateData[GBUpdateDDY];
 	}
-	(((int*) updateData))[GBUpdateX] = lastX;
-	(((int*) updateData))[GBUpdateY] = lastY;
-	(((int*) updateData))[GBUpdateDX] = fwDx;
-	(((int*) updateData))[GBUpdateDY] = fwDy;
+	updateData[GBUpdateX] = lastX;
+	updateData[GBUpdateY] = lastY;
+	updateData[GBUpdateDX] = fwDx;
+	updateData[GBUpdateDY] = fwDy;
 	xValue = ((signed)lastX >> 8);
 	objBuffer[bezier + GEXValue] = xValue;
 }
@@ -12900,8 +12874,8 @@
     sqInt lineWidth;
     sqInt minY;
     sqInt minY1;
-    sqInt updateData;
-    sqInt updateData1;
+    int *updateData;
+    int *updateData1;
     sqInt yEntry;
     sqInt yExit;
 
@@ -12923,11 +12897,11 @@
 	if ((yExit + lineOffset) < 0) {
 		/* begin stepToNextBezierForward:at: */
 		/* begin bezierUpdateDataOf: */
-		updateData = ((int *) ((objBuffer + bezier) + GBUpdateData));
-		lastX = (((int*) updateData))[GBUpdateX];
-		lastY = (((int*) updateData))[GBUpdateY];
-		fwDx = (((int*) updateData))[GBUpdateDX];
-		fwDy = (((int*) updateData))[GBUpdateDY];
+		updateData = (objBuffer + bezier) + GBUpdateData;
+		lastX = updateData[GBUpdateX];
+		lastY = updateData[GBUpdateY];
+		fwDx = updateData[GBUpdateDX];
+		fwDy = updateData[GBUpdateDY];
 
 		/* Step as long as we haven't yet reached minY and also
 		   as long as fwDy is greater than zero thus stepping down.
@@ -12939,13 +12913,13 @@
 		 && (fwDy >= 0)) {
 			lastX += ((signed)(fwDx + 32768) >> 16);
 			lastY += ((signed)(fwDy + 32768) >> 16);
-			fwDx += (((int*) updateData))[GBUpdateDDX];
-			fwDy += (((int*) updateData))[GBUpdateDDY];
+			fwDx += updateData[GBUpdateDDX];
+			fwDy += updateData[GBUpdateDDY];
 		}
-		(((int*) updateData))[GBUpdateX] = lastX;
-		(((int*) updateData))[GBUpdateY] = lastY;
-		(((int*) updateData))[GBUpdateDX] = fwDx;
-		(((int*) updateData))[GBUpdateDY] = fwDy;
+		updateData[GBUpdateX] = lastX;
+		updateData[GBUpdateY] = lastY;
+		updateData[GBUpdateDX] = fwDx;
+		updateData[GBUpdateDY] = fwDy;
 		((signed)lastX >> 8);
 	}
 	else {
@@ -12956,11 +12930,11 @@
 	}
 	/* begin stepToNextBezierForward:at: */
 	/* begin wideBezierUpdateDataOf: */
-	updateData1 = ((int *) ((objBuffer + bezier) + GBWideUpdateData));
-	lastX1 = (((int*) updateData1))[GBUpdateX];
-	lastY1 = (((int*) updateData1))[GBUpdateY];
-	fwDx1 = (((int*) updateData1))[GBUpdateDX];
-	fwDy1 = (((int*) updateData1))[GBUpdateDY];
+	updateData1 = (objBuffer + bezier) + GBWideUpdateData;
+	lastX1 = updateData1[GBUpdateX];
+	lastY1 = updateData1[GBUpdateY];
+	fwDx1 = updateData1[GBUpdateDX];
+	fwDy1 = updateData1[GBUpdateDY];
 
 	/* Step as long as we haven't yet reached minY and also
 	   as long as fwDy is greater than zero thus stepping down.
@@ -12972,13 +12946,13 @@
 	 && (fwDy1 >= 0)) {
 		lastX1 += ((signed)(fwDx1 + 32768) >> 16);
 		lastY1 += ((signed)(fwDy1 + 32768) >> 16);
-		fwDx1 += (((int*) updateData1))[GBUpdateDDX];
-		fwDy1 += (((int*) updateData1))[GBUpdateDDY];
+		fwDx1 += updateData1[GBUpdateDDX];
+		fwDy1 += updateData1[GBUpdateDDY];
 	}
-	(((int*) updateData1))[GBUpdateX] = lastX1;
-	(((int*) updateData1))[GBUpdateY] = lastY1;
-	(((int*) updateData1))[GBUpdateDX] = fwDx1;
-	(((int*) updateData1))[GBUpdateDY] = fwDy1;
+	updateData1[GBUpdateX] = lastX1;
+	updateData1[GBUpdateY] = lastY1;
+	updateData1[GBUpdateDX] = fwDx1;
+	updateData1[GBUpdateDY] = fwDy1;
 	((signed)lastX1 >> 8);
 	computeFinalWideBezierValueswidth(bezier, lineWidth);
 }

Modified: branches/Cog/nscogsrc/plugins/BMPReadWriterPlugin/BMPReadWriterPlugin.c
===================================================================
--- branches/Cog/nscogsrc/plugins/BMPReadWriterPlugin/BMPReadWriterPlugin.c	2014-12-13 01:05:57 UTC (rev 3179)
+++ branches/Cog/nscogsrc/plugins/BMPReadWriterPlugin/BMPReadWriterPlugin.c	2014-12-13 02:53:22 UTC (rev 3180)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	VMPluginCodeGenerator VMMaker.oscog-eem.580 uuid: 751b08d4-d92e-440a-b3f6-cb2c76f52514
+	VMPluginCodeGenerator VMMaker.oscog-eem.983 uuid: 4cdca841-6318-4c49-95de-8c47d0d7e91d
    from
-	BMPReadWriterPlugin VMMaker.oscog-eem.580 uuid: 751b08d4-d92e-440a-b3f6-cb2c76f52514
+	BMPReadWriterPlugin VMMaker.oscog-eem.983 uuid: 4cdca841-6318-4c49-95de-8c47d0d7e91d
  */
-static char __buildInfo[] = "BMPReadWriterPlugin VMMaker.oscog-eem.580 uuid: 751b08d4-d92e-440a-b3f6-cb2c76f52514 " __DATE__ ;
+static char __buildInfo[] = "BMPReadWriterPlugin VMMaker.oscog-eem.983 uuid: 4cdca841-6318-4c49-95de-8c47d0d7e91d " __DATE__ ;
 
 
 
@@ -40,10 +40,7 @@
 
 
 /*** Function Prototypes ***/
-static VirtualMachine * getInterpreter(void);
 EXPORT(const char*) getModuleName(void);
-static sqInt halt(void);
-static sqInt msg(char *s);
 EXPORT(sqInt) primitiveRead24BmpLine(void);
 EXPORT(sqInt) primitiveWrite24BmpLine(void);
 EXPORT(sqInt) setInterpreter(struct VirtualMachine*anInterpreter);
@@ -78,23 +75,14 @@
 struct VirtualMachine* interpreterProxy;
 static const char *moduleName =
 #ifdef SQUEAK_BUILTIN_PLUGIN
-	"BMPReadWriterPlugin VMMaker.oscog-eem.580 (i)"
+	"BMPReadWriterPlugin VMMaker.oscog-eem.983 (i)"
 #else
-	"BMPReadWriterPlugin VMMaker.oscog-eem.580 (e)"
+	"BMPReadWriterPlugin VMMaker.oscog-eem.983 (e)"
 #endif
 ;
 
 
 
-/*	Note: This is coded so that plugins can be run from Squeak. */
-
-static VirtualMachine *
-getInterpreter(void)
-{
-	return interpreterProxy;
-}
-
-
 /*	Note: This is hardcoded so it can be run from Squeak.
 	The module name is used for validating a module *after*
 	it is loaded to check if it does really contain the module
@@ -106,20 +94,6 @@
 	return moduleName;
 }
 
-static sqInt
-halt(void)
-{
-	;
-	return 0;
-}
-
-static sqInt
-msg(char *s)
-{
-	fprintf(stderr, "\n%s: %s", moduleName, s);
-	return 0;
-}
-
 EXPORT(sqInt)
 primitiveRead24BmpLine(void)
 {

Modified: branches/Cog/nscogsrc/plugins/BitBltPlugin/BitBltPlugin.c
===================================================================
--- branches/Cog/nscogsrc/plugins/BitBltPlugin/BitBltPlugin.c	2014-12-13 01:05:57 UTC (rev 3179)
+++ branches/Cog/nscogsrc/plugins/BitBltPlugin/BitBltPlugin.c	2014-12-13 02:53:22 UTC (rev 3180)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	SmartSyntaxPluginCodeGenerator VMMaker.oscog-eem.975 uuid: de22d941-0268-4e60-a8be-89a3a88aa567
+	SmartSyntaxPluginCodeGenerator VMMaker.oscog-eem.983 uuid: 4cdca841-6318-4c49-95de-8c47d0d7e91d
    from
-	BitBltSimulation VMMaker.oscog-eem.975 uuid: de22d941-0268-4e60-a8be-89a3a88aa567
+	BitBltSimulation VMMaker.oscog-eem.983 uuid: 4cdca841-6318-4c49-95de-8c47d0d7e91d
  */
-static char __buildInfo[] = "BitBltSimulation VMMaker.oscog-eem.975 uuid: de22d941-0268-4e60-a8be-89a3a88aa567 " __DATE__ ;
+static char __buildInfo[] = "BitBltSimulation VMMaker.oscog-eem.983 uuid: 4cdca841-6318-4c49-95de-8c47d0d7e91d " __DATE__ ;
 
 
 
@@ -128,10 +128,8 @@
 static sqInt fetchIntOrFloatofObject(sqInt fieldIndex, sqInt objectPointer);
 static sqInt fetchIntOrFloatofObjectifNil(sqInt fieldIndex, sqInt objectPointer, sqInt defaultValue);
 static sqInt fixAlphawith(sqInt sourceWord, sqInt destinationWord);
-static VirtualMachine * getInterpreter(void);
 EXPORT(const char*) getModuleName(void);
 static sqInt halftoneAt(sqInt idx);
-static sqInt halt(void);
 static sqInt ignoreSourceOrHalftone(sqInt formPointer);
 static sqInt initBBOpTable(void);
 static sqInt initDither8Lookup(void);
@@ -150,7 +148,6 @@
 static sqInt mapPixelflags(sqInt sourcePixel, sqInt mapperFlags);
 static sqInt mergewith(sqInt sourceWord, sqInt destinationWord);
 EXPORT(sqInt) moduleUnloaded(char *aModuleName);
-static sqInt msg(char *s);
 static sqInt OLDrgbDiffwith(sqInt sourceWord, sqInt destinationWord);
 static sqInt OLDtallyIntoMapwith(sqInt sourceWord, sqInt destinationWord);
 static sqInt partitionedAddtonBitscomponentMaskcarryOverflowMask(unsigned int word1, unsigned int word2, sqInt nBits, unsigned int componentMask, unsigned int carryOverflowMask);
@@ -345,9 +342,9 @@
 };
 static const char *moduleName =
 #ifdef SQUEAK_BUILTIN_PLUGIN
-	"BitBltPlugin VMMaker.oscog-eem.975 (i)"
+	"BitBltPlugin VMMaker.oscog-eem.983 (i)"
 #else
-	"BitBltPlugin VMMaker.oscog-eem.975 (e)"
+	"BitBltPlugin VMMaker.oscog-eem.983 (e)"
 #endif
 ;
 static sqInt noHalftone;
@@ -2916,15 +2913,6 @@
 }
 
 
-/*	Note: This is coded so that plugins can be run from Squeak. */
-
-static VirtualMachine *
-getInterpreter(void)
-{
-	return interpreterProxy;
-}
-
-
 /*	Note: This is hardcoded so it can be run from Squeak.
 	The module name is used for validating a module *after*
 	it is loaded to check if it does really contain the module
@@ -2946,13 +2934,6 @@
 }
 
 static sqInt
-halt(void)
-{
-	;
-	return 0;
-}
-
-static sqInt
 ignoreSourceOrHalftone(sqInt formPointer)
 {
 	if (formPointer == (nilObject())) {
@@ -4010,14 +3991,7 @@
 	}
 }
 
-static sqInt
-msg(char *s)
-{
-	fprintf(stderr, "\n%s: %s", moduleName, s);
-	return 0;
-}
 
-
 /*	Subract the pixels in the source and destination, color by color,
 	and return the sum of the absolute value of all the differences.
 	For non-rgb, XOR the two and return the number of differing pixels.

Modified: branches/Cog/nscogsrc/plugins/DSAPrims/DSAPrims.c
===================================================================
--- branches/Cog/nscogsrc/plugins/DSAPrims/DSAPrims.c	2014-12-13 01:05:57 UTC (rev 3179)
+++ branches/Cog/nscogsrc/plugins/DSAPrims/DSAPrims.c	2014-12-13 02:53:22 UTC (rev 3180)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	VMPluginCodeGenerator VMMaker.oscog-eem.580 uuid: 751b08d4-d92e-440a-b3f6-cb2c76f52514
+	VMPluginCodeGenerator VMMaker.oscog-eem.983 uuid: 4cdca841-6318-4c49-95de-8c47d0d7e91d
    from
-	DSAPlugin VMMaker.oscog-eem.580 uuid: 751b08d4-d92e-440a-b3f6-cb2c76f52514
+	DSAPlugin VMMaker.oscog-eem.983 uuid: 4cdca841-6318-4c49-95de-8c47d0d7e91d
  */
-static char __buildInfo[] = "DSAPlugin VMMaker.oscog-eem.580 uuid: 751b08d4-d92e-440a-b3f6-cb2c76f52514 " __DATE__ ;
+static char __buildInfo[] = "DSAPlugin VMMaker.oscog-eem.983 uuid: 4cdca841-6318-4c49-95de-8c47d0d7e91d " __DATE__ ;
 
 
 
@@ -42,11 +42,8 @@
 /*** Function Prototypes ***/
 static sqInt addBackDivisorDigitShift(sqInt digitShift);
 static sqInt bigDivideLoop(void);
-static VirtualMachine * getInterpreter(void);
 EXPORT(const char*) getModuleName(void);
-static sqInt halt(void);
 static sqInt leftRotateby(unsigned int  anInteger, sqInt bits);
-static sqInt msg(char *s);
 EXPORT(sqInt) primitiveBigDivide(void);
 EXPORT(sqInt) primitiveBigMultiply(void);
 EXPORT(sqInt) primitiveExpandBlock(void);
@@ -94,9 +91,9 @@
 struct VirtualMachine* interpreterProxy;
 static const char *moduleName =
 #ifdef SQUEAK_BUILTIN_PLUGIN
-	"DSAPrims VMMaker.oscog-eem.580 (i)"
+	"DSAPrims VMMaker.oscog-eem.983 (i)"
 #else
-	"DSAPrims VMMaker.oscog-eem.580 (e)"
+	"DSAPrims VMMaker.oscog-eem.983 (e)"
 #endif
 ;
 static sqInt remainderDigitCount;
@@ -251,15 +248,6 @@
 }
 
 
-/*	Note: This is coded so that plugins can be run from Squeak. */
-
-static VirtualMachine *
-getInterpreter(void)
-{
-	return interpreterProxy;
-}
-
-
 /*	Note: This is hardcoded so it can be run from Squeak.
 	The module name is used for validating a module *after*
 	it is loaded to check if it does really contain the module
@@ -271,14 +259,7 @@
 	return moduleName;
 }
 
-static sqInt
-halt(void)
-{
-	;
-	return 0;
-}
 
-
 /*	Rotate the given 32-bit integer left by the given number of bits and
 	answer the result.
  */
@@ -289,14 +270,7 @@
 	return (anInteger << bits) | (((usqInt) anInteger) >> (32 - bits));
 }
 
-static sqInt
-msg(char *s)
-{
-	fprintf(stderr, "\n%s: %s", moduleName, s);
-	return 0;
-}
 
-
 /*	Called with three LargePositiveInteger arguments, rem, div, quo. Divide
 	div into rem and store the quotient into quo, leaving the remainder in
 	rem. 

Modified: branches/Cog/nscogsrc/plugins/DropPlugin/DropPlugin.c
===================================================================
--- branches/Cog/nscogsrc/plugins/DropPlugin/DropPlugin.c	2014-12-13 01:05:57 UTC (rev 3179)
+++ branches/Cog/nscogsrc/plugins/DropPlugin/DropPlugin.c	2014-12-13 02:53:22 UTC (rev 3180)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	VMPluginCodeGenerator VMMaker.oscog-eem.975 uuid: de22d941-0268-4e60-a8be-89a3a88aa567
+	VMPluginCodeGenerator VMMaker.oscog-eem.983 uuid: 4cdca841-6318-4c49-95de-8c47d0d7e91d
    from
-	DropPlugin VMMaker.oscog-eem.975 uuid: de22d941-0268-4e60-a8be-89a3a88aa567
+	DropPlugin VMMaker.oscog-eem.983 uuid: 4cdca841-6318-4c49-95de-8c47d0d7e91d
  */
-static char __buildInfo[] = "DropPlugin VMMaker.oscog-eem.975 uuid: de22d941-0268-4e60-a8be-89a3a88aa567 " __DATE__ ;
+static char __buildInfo[] = "DropPlugin VMMaker.oscog-eem.983 uuid: 4cdca841-6318-4c49-95de-8c47d0d7e91d " __DATE__ ;
 
 
 
@@ -41,11 +41,8 @@
 
 
 /*** Function Prototypes ***/
-static VirtualMachine * getInterpreter(void);
 EXPORT(const char*) getModuleName(void);
-static sqInt halt(void);
 EXPORT(sqInt) initialiseModule(void);
-static sqInt msg(char *s);
 EXPORT(sqInt) primitiveDropRequestFileHandle(void);
 EXPORT(sqInt) primitiveDropRequestFileName(void);
 EXPORT(sqInt) setFileAccessCallback(sqInt address);
@@ -80,23 +77,14 @@
 struct VirtualMachine* interpreterProxy;
 static const char *moduleName =
 #ifdef SQUEAK_BUILTIN_PLUGIN
-	"DropPlugin VMMaker.oscog-eem.975 (i)"
+	"DropPlugin VMMaker.oscog-eem.983 (i)"
 #else
-	"DropPlugin VMMaker.oscog-eem.975 (e)"
+	"DropPlugin VMMaker.oscog-eem.983 (e)"
 #endif
 ;
 
 
 
-/*	Note: This is coded so that plugins can be run from Squeak. */
-
-static VirtualMachine *
-getInterpreter(void)
-{
-	return interpreterProxy;
-}
-
-
 /*	Note: This is hardcoded so it can be run from Squeak.
 	The module name is used for validating a module *after*
 	it is loaded to check if it does really contain the module
@@ -108,27 +96,13 @@
 	return moduleName;
 }
 
-static sqInt
-halt(void)
-{
-	;
-	return 0;
-}
-
 EXPORT(sqInt)
 initialiseModule(void)
 {
 	return dropInit();
 }
 
-static sqInt
-msg(char *s)
-{
-	fprintf(stderr, "\n%s: %s", moduleName, s);
-	return 0;
-}
 
-
 /*	Note: File handle creation needs to be handled by specific support code
 	explicitly bypassing the plugin file sand box.
  */

Modified: branches/Cog/nscogsrc/plugins/FileCopyPlugin/FileCopyPlugin.c
===================================================================
--- branches/Cog/nscogsrc/plugins/FileCopyPlugin/FileCopyPlugin.c	2014-12-13 01:05:57 UTC (rev 3179)
+++ branches/Cog/nscogsrc/plugins/FileCopyPlugin/FileCopyPlugin.c	2014-12-13 02:53:22 UTC (rev 3180)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	SmartSyntaxPluginCodeGenerator VMMaker.oscog-eem.580 uuid: 751b08d4-d92e-440a-b3f6-cb2c76f52514
+	SmartSyntaxPluginCodeGenerator VMMaker.oscog-eem.983 uuid: 4cdca841-6318-4c49-95de-8c47d0d7e91d
    from
-	FileCopyPlugin VMMaker.oscog-eem.580 uuid: 751b08d4-d92e-440a-b3f6-cb2c76f52514
+	FileCopyPlugin VMMaker.oscog-eem.983 uuid: 4cdca841-6318-4c49-95de-8c47d0d7e91d
  */
-static char __buildInfo[] = "FileCopyPlugin VMMaker.oscog-eem.580 uuid: 751b08d4-d92e-440a-b3f6-cb2c76f52514 " __DATE__ ;
+static char __buildInfo[] = "FileCopyPlugin VMMaker.oscog-eem.983 uuid: 4cdca841-6318-4c49-95de-8c47d0d7e91d " __DATE__ ;
 
 
 
@@ -40,10 +40,7 @@
 
 
 /*** Function Prototypes ***/
-static VirtualMachine * getInterpreter(void);
 EXPORT(const char*) getModuleName(void);
-static sqInt halt(void);
-static sqInt msg(char *s);
 EXPORT(sqInt) primitiveFileCopyNamedTo(void);
 EXPORT(sqInt) setInterpreter(struct VirtualMachine*anInterpreter);
 static sqInt sqAssert(sqInt aBool);
@@ -74,23 +71,14 @@
 struct VirtualMachine* interpreterProxy;
 static const char *moduleName =
 #ifdef SQUEAK_BUILTIN_PLUGIN
-	"FileCopyPlugin VMMaker.oscog-eem.580 (i)"
+	"FileCopyPlugin VMMaker.oscog-eem.983 (i)"
 #else
-	"FileCopyPlugin VMMaker.oscog-eem.580 (e)"
+	"FileCopyPlugin VMMaker.oscog-eem.983 (e)"
 #endif
 ;
 
 
 
-/*	Note: This is coded so that plugins can be run from Squeak. */
-
-static VirtualMachine *
-getInterpreter(void)
-{
-	return interpreterProxy;
-}
-
-
 /*	Note: This is hardcoded so it can be run from Squeak.
 	The module name is used for validating a module *after*
 	it is loaded to check if it does really contain the module
@@ -102,20 +90,6 @@
 	return moduleName;
 }
 
-static sqInt
-halt(void)
-{
-	;
-	return 0;
-}
-
-static sqInt
-msg(char *s)
-{
-	fprintf(stderr, "\n%s: %s", moduleName, s);
-	return 0;
-}
-
 EXPORT(sqInt)
 primitiveFileCopyNamedTo(void)
 {

Modified: branches/Cog/nscogsrc/plugins/FilePlugin/FilePlugin.c
===================================================================
--- branches/Cog/nscogsrc/plugins/FilePlugin/FilePlugin.c	2014-12-13 01:05:57 UTC (rev 3179)
+++ branches/Cog/nscogsrc/plugins/FilePlugin/FilePlugin.c	2014-12-13 02:53:22 UTC (rev 3180)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	VMPluginCodeGenerator VMMaker.oscog-eem.870 uuid: aa732da6-bba7-4906-b822-6dfd7f4e1bc7
+	VMPluginCodeGenerator VMMaker.oscog-eem.983 uuid: 4cdca841-6318-4c49-95de-8c47d0d7e91d
    from
-	FilePlugin VMMaker.oscog-eem.870 uuid: aa732da6-bba7-4906-b822-6dfd7f4e1bc7
+	FilePlugin VMMaker.oscog-eem.983 uuid: 4cdca841-6318-4c49-95de-8c47d0d7e91d
  */
-static char __buildInfo[] = "FilePlugin VMMaker.oscog-eem.870 uuid: aa732da6-bba7-4906-b822-6dfd7f4e1bc7 " __DATE__ ;
+static char __buildInfo[] = "FilePlugin VMMaker.oscog-eem.983 uuid: 4cdca841-6318-4c49-95de-8c47d0d7e91d " __DATE__ ;
 
 
 
@@ -54,14 +54,11 @@
 EXPORT(sqInt) fileOpenNamesizewritesecure(char *nameIndex, sqInt nameSize, sqInt writeFlag, sqInt secureFlag);
 sqInt fileRecordSize(void);
 SQFile * fileValueOf(sqInt objectPointer);
-static VirtualMachine * getInterpreter(void);
 EXPORT(const char*) getModuleName(void);
 EXPORT(sqInt) getThisSession(void);
-static sqInt halt(void);
 EXPORT(sqInt) initialiseModule(void);
 static sqInt makeDirEntryNamesizecreateDatemodDateisDirfileSize(char *entryName, sqInt entryNameSize, sqInt createDate, sqInt modifiedDate, sqInt dirFlag, squeakFileOffsetType  fileSize);
 EXPORT(sqInt) moduleUnloaded(char *aModuleName);
-static sqInt msg(char *s);
 EXPORT(sqInt) primitiveDirectoryCreate(void);
 EXPORT(sqInt) primitiveDirectoryDelete(void);
 EXPORT(sqInt) primitiveDirectoryDelimitor(void);
@@ -180,9 +177,9 @@
 struct VirtualMachine* interpreterProxy;
 static const char *moduleName =
 #ifdef SQUEAK_BUILTIN_PLUGIN
-	"FilePlugin VMMaker.oscog-eem.870 (i)"
+	"FilePlugin VMMaker.oscog-eem.983 (i)"
 #else
-	"FilePlugin VMMaker.oscog-eem.870 (e)"
+	"FilePlugin VMMaker.oscog-eem.983 (e)"
 #endif
 ;
 static void * sCCPfn;
@@ -271,15 +268,6 @@
 }
 
 
-/*	Note: This is coded so that plugins can be run from Squeak. */
-
-static VirtualMachine *
-getInterpreter(void)
-{
-	return interpreterProxy;
-}
-
-
 /*	Note: This is hardcoded so it can be run from Squeak.
 	The module name is used for validating a module *after*
 	it is loaded to check if it does really contain the module
@@ -302,13 +290,6 @@
 	return sqFileThisSession();
 }
 
-static sqInt
-halt(void)
-{
-	;
-	return 0;
-}
-
 EXPORT(sqInt)
 initialiseModule(void)
 {
@@ -385,13 +366,6 @@
 	}
 }
 
-static sqInt
-msg(char *s)
-{
-	fprintf(stderr, "\n%s: %s", moduleName, s);
-	return 0;
-}
-
 EXPORT(sqInt)
 primitiveDirectoryCreate(void)
 {

Modified: branches/Cog/nscogsrc/plugins/FloatArrayPlugin/FloatArrayPlugin.c
===================================================================
--- branches/Cog/nscogsrc/plugins/FloatArrayPlugin/FloatArrayPlugin.c	2014-12-13 01:05:57 UTC (rev 3179)
+++ branches/Cog/nscogsrc/plugins/FloatArrayPlugin/FloatArrayPlugin.c	2014-12-13 02:53:22 UTC (rev 3180)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	VMPluginCodeGenerator VMMaker.oscog-eem.580 uuid: 751b08d4-d92e-440a-b3f6-cb2c76f52514
+	VMPluginCodeGenerator VMMaker.oscog-eem.983 uuid: 4cdca841-6318-4c49-95de-8c47d0d7e91d
    from
-	FloatArrayPlugin VMMaker.oscog-eem.580 uuid: 751b08d4-d92e-440a-b3f6-cb2c76f52514
+	FloatArrayPlugin VMMaker.oscog-eem.983 uuid: 4cdca841-6318-4c49-95de-8c47d0d7e91d
  */
-static char __buildInfo[] = "FloatArrayPlugin VMMaker.oscog-eem.580 uuid: 751b08d4-d92e-440a-b3f6-cb2c76f52514 " __DATE__ ;
+static char __buildInfo[] = "FloatArrayPlugin VMMaker.oscog-eem.983 uuid: 4cdca841-6318-4c49-95de-8c47d0d7e91d " __DATE__ ;
 
 
 
@@ -40,10 +40,7 @@
 
 
 /*** Function Prototypes ***/
-static VirtualMachine * getInterpreter(void);
 EXPORT(const char*) getModuleName(void);
-static sqInt halt(void);
-static sqInt msg(char *s);
 EXPORT(sqInt) primitiveAddFloatArray(void);
 EXPORT(sqInt) primitiveAddScalar(void);
 EXPORT(sqInt) primitiveAt(void);
@@ -112,23 +109,14 @@
 struct VirtualMachine* interpreterProxy;
 static const char *moduleName =
 #ifdef SQUEAK_BUILTIN_PLUGIN
-	"FloatArrayPlugin VMMaker.oscog-eem.580 (i)"
+	"FloatArrayPlugin VMMaker.oscog-eem.983 (i)"
 #else
-	"FloatArrayPlugin VMMaker.oscog-eem.580 (e)"
+	"FloatArrayPlugin VMMaker.oscog-eem.983 (e)"
 #endif
 ;
 
 
 
-/*	Note: This is coded so that plugins can be run from Squeak. */
-
-static VirtualMachine *
-getInterpreter(void)
-{
-	return interpreterProxy;
-}
-
-
 /*	Note: This is hardcoded so it can be run from Squeak.
 	The module name is used for validating a module *after*
 	it is loaded to check if it does really contain the module
@@ -140,21 +128,7 @@
 	return moduleName;
 }
 
-static sqInt
-halt(void)
-{
-	;
-	return 0;
-}
 
-static sqInt
-msg(char *s)
-{
-	fprintf(stderr, "\n%s: %s", moduleName, s);
-	return 0;
-}
-
-
 /*	Primitive. Add the receiver and the argument, both FloatArrays and store
 	the result into the receiver.
  */

Modified: branches/Cog/nscogsrc/plugins/FloatMathPlugin/FloatMathPlugin.c
===================================================================
--- branches/Cog/nscogsrc/plugins/FloatMathPlugin/FloatMathPlugin.c	2014-12-13 01:05:57 UTC (rev 3179)
+++ branches/Cog/nscogsrc/plugins/FloatMathPlugin/FloatMathPlugin.c	2014-12-13 02:53:22 UTC (rev 3180)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	VMPluginCodeGenerator VMMaker.oscog-eem.580 uuid: 751b08d4-d92e-440a-b3f6-cb2c76f52514
+	VMPluginCodeGenerator VMMaker.oscog-eem.983 uuid: 4cdca841-6318-4c49-95de-8c47d0d7e91d
    from
-	FloatMathPlugin VMMaker.oscog-eem.580 uuid: 751b08d4-d92e-440a-b3f6-cb2c76f52514
+	FloatMathPlugin VMMaker.oscog-eem.983 uuid: 4cdca841-6318-4c49-95de-8c47d0d7e91d
  */
-static char __buildInfo[] = "FloatMathPlugin VMMaker.oscog-eem.580 uuid: 751b08d4-d92e-440a-b3f6-cb2c76f52514 " __DATE__ ;
+static char __buildInfo[] = "FloatMathPlugin VMMaker.oscog-eem.983 uuid: 4cdca841-6318-4c49-95de-8c47d0d7e91d " __DATE__ ;
 
 
 
@@ -41,10 +41,7 @@
 
 
 /*** Function Prototypes ***/
-static VirtualMachine * getInterpreter(void);
 EXPORT(const char*) getModuleName(void);
-static sqInt halt(void);
-static sqInt msg(char *s);
 EXPORT(sqInt) primitiveArcCos(void);
 EXPORT(sqInt) primitiveArcCosH(void);
 EXPORT(sqInt) primitiveArcSin(void);
@@ -93,23 +90,14 @@
 struct VirtualMachine* interpreterProxy;
 static const char *moduleName =
 #ifdef SQUEAK_BUILTIN_PLUGIN
-	"FloatMathPlugin VMMaker.oscog-eem.580 (i)"
+	"FloatMathPlugin VMMaker.oscog-eem.983 (i)"
 #else
-	"FloatMathPlugin VMMaker.oscog-eem.580 (e)"
+	"FloatMathPlugin VMMaker.oscog-eem.983 (e)"
 #endif
 ;
 
 
 
-/*	Note: This is coded so that plugins can be run from Squeak. */
-
-static VirtualMachine *
-getInterpreter(void)
-{
-	return interpreterProxy;
-}
-
-
 /*	Note: This is hardcoded so it can be run from Squeak.
 	The module name is used for validating a module *after*
 	it is loaded to check if it does really contain the module
@@ -121,21 +109,7 @@
 	return moduleName;
 }
 
-static sqInt
-halt(void)
-{
-	;
-	return 0;
-}
 
-static sqInt
-msg(char *s)
-{
-	fprintf(stderr, "\n%s: %s", moduleName, s);
-	return 0;
-}
-
-
 /*	Computes acos(receiver) */
 
 EXPORT(sqInt)

Modified: branches/Cog/nscogsrc/plugins/IA32ABI/IA32ABI.c
===================================================================
--- branches/Cog/nscogsrc/plugins/IA32ABI/IA32ABI.c	2014-12-13 01:05:57 UTC (rev 3179)
+++ branches/Cog/nscogsrc/plugins/IA32ABI/IA32ABI.c	2014-12-13 02:53:22 UTC (rev 3180)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	VMPluginCodeGenerator VMMaker.oscog-eem.907 uuid: 1d1ad3df-9d81-4278-95fd-a11857f7a60d
+	VMPluginCodeGenerator VMMaker.oscog-eem.983 uuid: 4cdca841-6318-4c49-95de-8c47d0d7e91d
    from
-	NewsqueakIA32ABIPlugin VMMaker.oscog-eem.907 uuid: 1d1ad3df-9d81-4278-95fd-a11857f7a60d
+	NewsqueakIA32ABIPlugin VMMaker.oscog-eem.983 uuid: 4cdca841-6318-4c49-95de-8c47d0d7e91d
  */
-static char __buildInfo[] = "NewsqueakIA32ABIPlugin VMMaker.oscog-eem.907 uuid: 1d1ad3df-9d81-4278-95fd-a11857f7a60d " __DATE__ ;
+static char __buildInfo[] = "NewsqueakIA32ABIPlugin VMMaker.oscog-eem.983 uuid: 4cdca841-6318-4c49-95de-8c47d0d7e91d " __DATE__ ;
 
 
 
@@ -65,12 +65,10 @@
 
 
 /*** Function Prototypes ***/
-static VirtualMachine * getInterpreter(void);
 EXPORT(const char*) getModuleName(void);
-static sqInt halt(void);
 static sqInt indexlengthinRange(sqInt byteIndex, sqInt length, sqInt rcvr);
 EXPORT(sqInt) isAlien(sqInt anOop);
-static sqInt msg(char *s);
+static sqInt positiveMachineIntegerFor(unsigned long value);
 EXPORT(sqInt) primAddressField(void);
 EXPORT(sqInt) primAddressFieldPut(void);
 EXPORT(sqInt) primAlienReplace(void);
@@ -117,6 +115,7 @@
 EXPORT(sqInt) primVarArgsCallOutFloatReturn(void);
 EXPORT(sqInt) primVarArgsCallOutIntegralReturn(void);
 EXPORT(sqInt) setInterpreter(struct VirtualMachine*anInterpreter);
+static sqInt signedMachineIntegerFor(unsigned long value);
 static sqInt sizeField(sqInt rcvr);
 static sqInt startOfByteData(sqInt rcvr);
 static sqInt startOfData(sqInt rcvr);
@@ -156,6 +155,7 @@
 static usqInt (*positive32BitValueOf)(sqInt oop);
 static sqInt (*positive64BitIntegerFor)(sqLong integerValue);
 static usqLong (*positive64BitValueOf)(sqInt oop);
+static unsigned long (*positiveMachineIntegerValueOf)(sqInt oop);
 static sqInt (*primitiveFailFor)(sqInt reasonCode);
 static sqInt (*pushFloat)(double  f);
 static sqInt (*returnAsThroughCallbackContext)(sqInt returnTypeOop, VMCallbackContext *vmCallbackContext, sqInt callbackMethodContext);
@@ -164,6 +164,7 @@
 static int (*signed32BitValueOf)(sqInt oop);
 static sqInt (*signed64BitIntegerFor)(sqLong integerValue);
 static sqLong (*signed64BitValueOf)(sqInt oop);
+static long (*signedMachineIntegerValueOf)(sqInt oop);
 static sqInt (*stSizeOf)(sqInt oop);
 static sqInt (*stackIntegerValue)(sqInt offset);
 static sqInt (*stackObjectValue)(sqInt offset);
@@ -201,6 +202,7 @@
 extern usqInt positive32BitValueOf(sqInt oop);
 extern sqInt positive64BitIntegerFor(sqLong integerValue);
 extern usqLong positive64BitValueOf(sqInt oop);
+extern unsigned long positiveMachineIntegerValueOf(sqInt oop);
 extern sqInt primitiveFailFor(sqInt reasonCode);
 extern sqInt pushFloat(double  f);
 extern sqInt returnAsThroughCallbackContext(sqInt returnTypeOop, VMCallbackContext *vmCallbackContext, sqInt callbackMethodContext);
@@ -209,6 +211,7 @@
 extern int signed32BitValueOf(sqInt oop);
 extern sqInt signed64BitIntegerFor(sqLong integerValue);
 extern sqLong signed64BitValueOf(sqInt oop);
+extern long signedMachineIntegerValueOf(sqInt oop);
 extern sqInt stSizeOf(sqInt oop);
 extern sqInt stackIntegerValue(sqInt offset);
 extern sqInt stackObjectValue(sqInt offset);
@@ -220,23 +223,14 @@
 struct VirtualMachine* interpreterProxy;
 static const char *moduleName =
 #ifdef SQUEAK_BUILTIN_PLUGIN
-	"IA32ABI VMMaker.oscog-eem.907 (i)"
+	"IA32ABI VMMaker.oscog-eem.983 (i)"
 #else
-	"IA32ABI VMMaker.oscog-eem.907 (e)"
+	"IA32ABI VMMaker.oscog-eem.983 (e)"
 #endif
 ;
 
 
 
-/*	Note: This is coded so that plugins can be run from Squeak. */
-
-static VirtualMachine *
-getInterpreter(void)
-{
-	return interpreterProxy;
-}
-
-
 /*	Note: This is hardcoded so it can be run from Squeak.
 	The module name is used for validating a module *after*
 	it is loaded to check if it does really contain the module
@@ -248,14 +242,7 @@
 	return moduleName;
 }
 
-static sqInt
-halt(void)
-{
-	;
-	return 0;
-}
 
-
 /*	Answer if the indices byteIndex to byteIndex + length - 1 are valid
 	zero-relative indices into the rcvr.
 	N.B. This code only works when translated because asUnisgnedInteger only
@@ -278,15 +265,16 @@
 }
 
 static sqInt
-msg(char *s)
+positiveMachineIntegerFor(unsigned long value)
 {
-	fprintf(stderr, "\n%s: %s", moduleName, s);
-	return 0;
+	return (BytesPerWord == 8
+		? positive64BitIntegerFor(value)
+		: positive32BitIntegerFor(value));
 }
 
 
-/*	Answer the unsigned 32-bit integer comprising the address field (the
-	second 32-bit field).
+/*	Answer the unsigned 32-bit (or 64-bit) integer comprising the address
+	field (the second 32-bit or 64-bit field).
  */
 /*	<Alien> primAddressField ^<Integer>
 	<primitive: 'primAddressField' error: errorCode module: 'IA32ABI'> */
@@ -300,12 +288,14 @@
 
 	rcvr = stackValue(0);
 	value = longAt((rcvr + BaseHeaderSize) + BytesPerOop);
-	valueOop = positive32BitIntegerFor(value);
+	valueOop = (BytesPerWord == 8
+		? positive64BitIntegerFor(value)
+		: positive32BitIntegerFor(value));
 	return methodReturnValue(valueOop);
 }
 
 
-/*	Store an unsigned integer into the size field (the second 32 bit field;
+/*	Store an unsigned integer into the size field (the second 32/64 bit field;
 	little endian).
  */
 /*	<Alien> addressFieldPut: value <Integer> ^<Integer>
@@ -320,7 +310,7 @@
 
 	valueOop = stackValue(0);
 	rcvr = stackValue(1);
-	value = positive32BitValueOf(valueOop);
+	value = positiveMachineIntegerValueOf(valueOop);
 	if (failed()) {
 		return primitiveFailFor(PrimErrBadArgument);
 	}
@@ -671,19 +661,21 @@
 EXPORT(sqInt)
 primCalloc(void)
 {
-    sqInt addr;
-    long byteSize;
+    usqInt addr;
+    sqInt byteSize;
 
 	byteSize = stackIntegerValue(0);
 	if ((failed())
 	 || (byteSize <= 0)) {
 		return primitiveFailFor(PrimErrBadArgument);
 	}
-	addr = (sqInt)calloc(1,byteSize);
+	addr = ((usqInt)(calloc(1, byteSize)));
 	if (addr == 0) {
 		return primitiveFailFor(PrimErrNoCMemory);
 	}
-	methodReturnValue(positive32BitIntegerFor(addr));
+	methodReturnValue((BytesPerWord == 8
+		? positive64BitIntegerFor(addr)
+		: positive32BitIntegerFor(addr)));
 }
 
 
@@ -889,10 +881,12 @@
 EXPORT(sqInt)
 primInIOProcessEventsFlagAddress(void)
 {
-    sqInt address;
+    extern int inIOProcessEvents;
 
-	{ extern int inIOProcessEvents; address = (sqInt)&inIOProcessEvents; }
-	methodReturnValue(positive32BitIntegerFor(address));
+	
+	methodReturnValue((BytesPerWord == 8
+		? positive64BitIntegerFor((&inIOProcessEvents))
+		: positive32BitIntegerFor((&inIOProcessEvents))));
 }
 
 
@@ -924,7 +918,9 @@
 	 || (address == 0)) {
 		return primitiveFailFor(PrimErrNotFound);
 	}
-	methodReturnValue(positive32BitIntegerFor(((usqInt)address)));
+	methodReturnValue((BytesPerWord == 8
+		? positive64BitIntegerFor(((usqInt)address))
+		: positive32BitIntegerFor(((usqInt)address))));
 }
 
 
@@ -947,7 +943,9 @@
 	if (libraryHandle == 0) {
 		return primitiveFailFor(PrimErrNotFound);
 	}
-	methodReturnValue(positive32BitIntegerFor(((usqInt)libraryHandle)));
+	methodReturnValue((BytesPerWord == 8
+		? positive64BitIntegerFor(((usqInt)libraryHandle))
+		: positive32BitIntegerFor(((usqInt)libraryHandle))));
 }
 
 
@@ -958,19 +956,21 @@
 EXPORT(sqInt)
 primMalloc(void)
 {
-    sqInt addr;
-    long byteSize;
+    usqInt addr;
+    sqInt byteSize;
 
 	byteSize = stackIntegerValue(0);
 	if ((failed())
 	 || (byteSize <= 0)) {
 		return primitiveFailFor(PrimErrBadArgument);
 	}
-	addr = malloc(byteSize);
+	addr = ((usqInt)(malloc(byteSize)));
 	if (addr == 0) {
 		return primitiveFailFor(PrimErrNoCMemory);
 	}
-	methodReturnValue(positive32BitIntegerFor(((usqInt)addr)));
+	methodReturnValue((BytesPerWord == 8
+		? positive64BitIntegerFor(addr)
+		: positive32BitIntegerFor(addr)));
 }
 
 
@@ -1393,8 +1393,8 @@
 }
 
 
-/*	Answer the signed 32-bit integer comprising the size field (the first
-	32-bit field).
+/*	Answer the signed 32- or 64-bit integer comprising the size field (the
+	first 32- or 64-bit field).
  */
 /*	<Alien> primSizeField ^<Integer>
 	<primitive: 'primSizeField' error: errorCode module: 'IA32ABI'> */
@@ -1408,7 +1408,9 @@
 
 	rcvr = stackValue(0);
 	value = ((sqInt) (longAt(rcvr + BaseHeaderSize)));
-	valueOop = signed32BitIntegerFor(value);
+	valueOop = (BytesPerWord == 8
+		? signed64BitIntegerFor(value)
+		: signed32BitIntegerFor(value));
 	return methodReturnValue(valueOop);
 }
 
@@ -1428,7 +1430,7 @@
 
 	valueOop = stackValue(0);
 	rcvr = stackValue(1);
-	value = signed32BitValueOf(valueOop);
+	value = signedMachineIntegerValueOf(valueOop);
 	if (failed()) {
 		return primitiveFailFor(PrimErrBadArgument);
 	}
@@ -1528,8 +1530,10 @@
 {
     sqInt address;
 
-	address = (sqInt)thunkEntry;
-	methodReturnValue(positive32BitIntegerFor(address));
+	address = ((sqInt)thunkEntry);
+	methodReturnValue((BytesPerWord == 8
+		? positive64BitIntegerFor(address)
+		: positive32BitIntegerFor(address)));
 }
 
 
@@ -2025,6 +2029,7 @@
 		positive32BitValueOf = interpreterProxy->positive32BitValueOf;
 		positive64BitIntegerFor = interpreterProxy->positive64BitIntegerFor;
 		positive64BitValueOf = interpreterProxy->positive64BitValueOf;
+		positiveMachineIntegerValueOf = interpreterProxy->positiveMachineIntegerValueOf;
 		primitiveFailFor = interpreterProxy->primitiveFailFor;
 		pushFloat = interpreterProxy->pushFloat;
 		returnAsThroughCallbackContext = interpreterProxy->returnAsThroughCallbackContext;
@@ -2033,6 +2038,7 @@
 		signed32BitValueOf = interpreterProxy->signed32BitValueOf;
 		signed64BitIntegerFor = interpreterProxy->signed64BitIntegerFor;
 		signed64BitValueOf = interpreterProxy->signed64BitValueOf;
+		signedMachineIntegerValueOf = interpreterProxy->signedMachineIntegerValueOf;
 		stSizeOf = interpreterProxy->stSizeOf;
 		stackIntegerValue = interpreterProxy->stackIntegerValue;
 		stackObjectValue = interpreterProxy->stackObjectValue;
@@ -2044,7 +2050,15 @@
 	return ok;
 }
 
+static sqInt
+signedMachineIntegerFor(unsigned long value)
+{
+	return (BytesPerWord == 8
+		? signed64BitIntegerFor(value)
+		: signed32BitIntegerFor(value));
+}
 
+
 /*	Answer the first field of rcvr which is assumed to be an Alien of at least
 	8 bytes
  */

Modified: branches/Cog/nscogsrc/plugins/ImmX11Plugin/ImmX11Plugin.c
===================================================================
--- branches/Cog/nscogsrc/plugins/ImmX11Plugin/ImmX11Plugin.c	2014-12-13 01:05:57 UTC (rev 3179)
+++ branches/Cog/nscogsrc/plugins/ImmX11Plugin/ImmX11Plugin.c	2014-12-13 02:53:22 UTC (rev 3180)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	SmartSyntaxPluginCodeGenerator VMMaker.oscog-eem.659 uuid: cc4b5641-6415-4f25-a5ee-bffa61fbd6d9
+	SmartSyntaxPluginCodeGenerator VMMaker.oscog-eem.983 uuid: 4cdca841-6318-4c49-95de-8c47d0d7e91d
    from
-	ImmX11Plugin VMMaker.oscog-eem.659 uuid: cc4b5641-6415-4f25-a5ee-bffa61fbd6d9
+	ImmX11Plugin VMMaker.oscog-eem.983 uuid: 4cdca841-6318-4c49-95de-8c47d0d7e91d
  */
-static char __buildInfo[] = "ImmX11Plugin VMMaker.oscog-eem.659 uuid: cc4b5641-6415-4f25-a5ee-bffa61fbd6d9 " __DATE__ ;
+static char __buildInfo[] = "ImmX11Plugin VMMaker.oscog-eem.983 uuid: 4cdca841-6318-4c49-95de-8c47d0d7e91d " __DATE__ ;
 
 
 
@@ -46,11 +46,8 @@
 
 
 /*** Function Prototypes ***/
-static VirtualMachine * getInterpreter(void);
 EXPORT(const char*) getModuleName(void);
-static sqInt halt(void);
 EXPORT(sqInt) initialiseModule(void);
-static sqInt msg(char *s);
 EXPORT(sqInt) primGetEncoding(void);
 EXPORT(sqInt) primGetLocale(void);
 EXPORT(sqInt) primGetLocaleEncoding(void);
@@ -113,23 +110,14 @@
 struct VirtualMachine* interpreterProxy;
 static const char *moduleName =
 #ifdef SQUEAK_BUILTIN_PLUGIN
-	"ImmX11Plugin VMMaker.oscog-eem.659 (i)"
+	"ImmX11Plugin VMMaker.oscog-eem.983 (i)"
 #else
-	"ImmX11Plugin VMMaker.oscog-eem.659 (e)"
+	"ImmX11Plugin VMMaker.oscog-eem.983 (e)"
 #endif
 ;
 
 
 
-/*	Note: This is coded so that plugins can be run from Squeak. */
-
-static VirtualMachine *
-getInterpreter(void)
-{
-	return interpreterProxy;
-}
-
-
 /*	Note: This is hardcoded so it can be run from Squeak.
 	The module name is used for validating a module *after*
 	it is loaded to check if it does really contain the module
@@ -141,26 +129,12 @@
 	return moduleName;
 }
 
-static sqInt
-halt(void)
-{
-	;
-	return 0;
-}
-
 EXPORT(sqInt)
 initialiseModule(void)
 {
 	return 1;
 }
 
-static sqInt
-msg(char *s)
-{
-	fprintf(stderr, "\n%s: %s", moduleName, s);
-	return 0;
-}
-
 EXPORT(sqInt)
 primGetEncoding(void)
 {

Modified: branches/Cog/nscogsrc/plugins/JPEGReadWriter2Plugin/JPEGReadWriter2Plugin.c
===================================================================
--- branches/Cog/nscogsrc/plugins/JPEGReadWriter2Plugin/JPEGReadWriter2Plugin.c	2014-12-13 01:05:57 UTC (rev 3179)
+++ branches/Cog/nscogsrc/plugins/JPEGReadWriter2Plugin/JPEGReadWriter2Plugin.c	2014-12-13 02:53:22 UTC (rev 3180)
@@ -1,9 +1,9 @@
 /* Automatically generated by

@@ Diff output truncated at 50000 characters. @@


More information about the Vm-dev mailing list