[Vm-dev] [commit][2632] CogVM source as per VMMaker-eem.233.

commits at squeakvm.org commits at squeakvm.org
Wed Dec 12 21:45:27 UTC 2012


Revision: 2632
Author:   eliot
Date:     2012-12-12 13:45:24 -0800 (Wed, 12 Dec 2012)
Log Message:
-----------
CogVM source as per VMMaker-eem.233.

Rename misnamed internameIsMutable: and internalIsImmutable:
to isOopMutable: and isOopImmutable:.  Affects sqVirtualMachine.c,
but only part of api used in Newspeak VMs.

Merge LargeInteger primitive fixes from VMMaker-dtl.286 and
tests from VMMaker-dtl.289.

UnixOSProcessPlugin:
Merge with VMConstruction-Plugins-OSProcessPlugin-dtl.35.
In particular restore missing code to forwardSignal:toSemaphoreAt:

Get plugin to use SA_ONSTACK/sigaltstack for signal handlers
if loaded in the JIT.

Modified Paths:
--------------
    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/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/UUIDPlugin/UUIDPlugin.c
    branches/Cog/nscogsrc/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c
    branches/Cog/nscogsrc/plugins/VMProfileMacSupportPlugin/VMProfileMacSupportPlugin.c
    branches/Cog/nscogsrc/plugins/Win32OSProcessPlugin/Win32OSProcessPlugin.c
    branches/Cog/nscogsrc/plugins/ZipPlugin/ZipPlugin.c
    branches/Cog/nscogsrc/vm/cogit.c
    branches/Cog/nscogsrc/vm/cogit.h
    branches/Cog/nscogsrc/vm/cogmethod.h
    branches/Cog/nscogsrc/vm/cointerp.c
    branches/Cog/nscogsrc/vm/cointerp.h
    branches/Cog/nscogsrc/vm/exampleSqNamedPrims.h
    branches/Cog/nscogsrc/vm/gcc3x-cointerp.c
    branches/Cog/nscogsrc/vm/interp.h
    branches/Cog/nscogsrc/vm/vmCallback.h
    branches/Cog/platforms/unix/vm/osExports.c
    branches/Cog/platforms/unix/vm/sqUnixITimerHeartbeat.c
    branches/Cog/platforms/unix/vm/sqUnixITimerTickerHeartbeat.c
    branches/Cog/platforms/win32/vm/sqWin32Exports.c
    branches/Cog/src/plugins/ADPCMCodecPlugin/ADPCMCodecPlugin.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/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/GeniePlugin/GeniePlugin.c
    branches/Cog/src/plugins/HostWindowPlugin/HostWindowPlugin.c
    branches/Cog/src/plugins/IA32ABI/IA32ABI.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/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/SqueakFFIPrims.c
    branches/Cog/src/plugins/StarSqueakPlugin/StarSqueakPlugin.c
    branches/Cog/src/plugins/UUIDPlugin/UUIDPlugin.c
    branches/Cog/src/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c
    branches/Cog/src/plugins/VMProfileMacSupportPlugin/VMProfileMacSupportPlugin.c
    branches/Cog/src/plugins/Win32OSProcessPlugin/Win32OSProcessPlugin.c
    branches/Cog/src/plugins/ZipPlugin/ZipPlugin.c
    branches/Cog/src/vm/cogit.c
    branches/Cog/src/vm/cogit.h
    branches/Cog/src/vm/cogmethod.h
    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/exampleSqNamedPrims.h
    branches/Cog/src/vm/gcc3x-cointerp.c
    branches/Cog/src/vm/gcc3x-cointerpmt.c
    branches/Cog/src/vm/interp.h
    branches/Cog/src/vm/vmCallback.h

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

Modified: branches/Cog/nscogsrc/plugins/AsynchFilePlugin/AsynchFilePlugin.c
===================================================================
--- branches/Cog/nscogsrc/plugins/AsynchFilePlugin/AsynchFilePlugin.c	2012-12-12 02:04:46 UTC (rev 2631)
+++ branches/Cog/nscogsrc/plugins/AsynchFilePlugin/AsynchFilePlugin.c	2012-12-12 21:45:24 UTC (rev 2632)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	SmartSyntaxPluginCodeGenerator VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a
+	SmartSyntaxPluginCodeGenerator VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211
    from
-	AsynchFilePlugin VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a
+	AsynchFilePlugin VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211
  */
-static char __buildInfo[] = "AsynchFilePlugin VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a " __DATE__ ;
+static char __buildInfo[] = "AsynchFilePlugin VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211 " __DATE__ ;
 
 
 
@@ -110,9 +110,9 @@
 struct VirtualMachine* interpreterProxy;
 static const char *moduleName =
 #ifdef SQUEAK_BUILTIN_PLUGIN
-	"AsynchFilePlugin VMMaker.oscog-eem.232 (i)"
+	"AsynchFilePlugin VMMaker.oscog-eem.233 (i)"
 #else
-	"AsynchFilePlugin VMMaker.oscog-eem.232 (e)"
+	"AsynchFilePlugin VMMaker.oscog-eem.233 (e)"
 #endif
 ;
 static void * sCOAFfn;

Modified: branches/Cog/nscogsrc/plugins/B2DPlugin/B2DPlugin.c
===================================================================
--- branches/Cog/nscogsrc/plugins/B2DPlugin/B2DPlugin.c	2012-12-12 02:04:46 UTC (rev 2631)
+++ branches/Cog/nscogsrc/plugins/B2DPlugin/B2DPlugin.c	2012-12-12 21:45:24 UTC (rev 2632)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	VMPluginCodeGenerator VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a
+	VMPluginCodeGenerator VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211
    from
-	BalloonEnginePlugin VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a
+	BalloonEnginePlugin VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211
  */
-static char __buildInfo[] = "BalloonEnginePlugin VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a " __DATE__ ;
+static char __buildInfo[] = "BalloonEnginePlugin VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211 " __DATE__ ;
 
 
 
@@ -841,9 +841,9 @@
 static void * loadBBFn;
 static const char *moduleName =
 #ifdef SQUEAK_BUILTIN_PLUGIN
-	"B2DPlugin VMMaker.oscog-eem.232 (i)"
+	"B2DPlugin VMMaker.oscog-eem.233 (i)"
 #else
-	"B2DPlugin VMMaker.oscog-eem.232 (e)"
+	"B2DPlugin VMMaker.oscog-eem.233 (e)"
 #endif
 ;
 static int* objBuffer;

Modified: branches/Cog/nscogsrc/plugins/BMPReadWriterPlugin/BMPReadWriterPlugin.c
===================================================================
--- branches/Cog/nscogsrc/plugins/BMPReadWriterPlugin/BMPReadWriterPlugin.c	2012-12-12 02:04:46 UTC (rev 2631)
+++ branches/Cog/nscogsrc/plugins/BMPReadWriterPlugin/BMPReadWriterPlugin.c	2012-12-12 21:45:24 UTC (rev 2632)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	VMPluginCodeGenerator VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a
+	VMPluginCodeGenerator VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211
    from
-	BMPReadWriterPlugin VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a
+	BMPReadWriterPlugin VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211
  */
-static char __buildInfo[] = "BMPReadWriterPlugin VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a " __DATE__ ;
+static char __buildInfo[] = "BMPReadWriterPlugin VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211 " __DATE__ ;
 
 
 
@@ -86,9 +86,9 @@
 struct VirtualMachine* interpreterProxy;
 static const char *moduleName =
 #ifdef SQUEAK_BUILTIN_PLUGIN
-	"BMPReadWriterPlugin VMMaker.oscog-eem.232 (i)"
+	"BMPReadWriterPlugin VMMaker.oscog-eem.233 (i)"
 #else
-	"BMPReadWriterPlugin VMMaker.oscog-eem.232 (e)"
+	"BMPReadWriterPlugin VMMaker.oscog-eem.233 (e)"
 #endif
 ;
 

Modified: branches/Cog/nscogsrc/plugins/BitBltPlugin/BitBltPlugin.c
===================================================================
--- branches/Cog/nscogsrc/plugins/BitBltPlugin/BitBltPlugin.c	2012-12-12 02:04:46 UTC (rev 2631)
+++ branches/Cog/nscogsrc/plugins/BitBltPlugin/BitBltPlugin.c	2012-12-12 21:45:24 UTC (rev 2632)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	VMPluginCodeGenerator VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a
+	VMPluginCodeGenerator VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211
    from
-	BitBltSimulation VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a
+	BitBltSimulation VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211
  */
-static char __buildInfo[] = "BitBltSimulation VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a " __DATE__ ;
+static char __buildInfo[] = "BitBltSimulation VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211 " __DATE__ ;
 
 
 
@@ -333,9 +333,9 @@
 };
 static const char *moduleName =
 #ifdef SQUEAK_BUILTIN_PLUGIN
-	"BitBltPlugin VMMaker.oscog-eem.232 (i)"
+	"BitBltPlugin VMMaker.oscog-eem.233 (i)"
 #else
-	"BitBltPlugin VMMaker.oscog-eem.232 (e)"
+	"BitBltPlugin VMMaker.oscog-eem.233 (e)"
 #endif
 ;
 static sqInt noHalftone;

Modified: branches/Cog/nscogsrc/plugins/DSAPrims/DSAPrims.c
===================================================================
--- branches/Cog/nscogsrc/plugins/DSAPrims/DSAPrims.c	2012-12-12 02:04:46 UTC (rev 2631)
+++ branches/Cog/nscogsrc/plugins/DSAPrims/DSAPrims.c	2012-12-12 21:45:24 UTC (rev 2632)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	VMPluginCodeGenerator VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a
+	VMPluginCodeGenerator VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211
    from
-	DSAPlugin VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a
+	DSAPlugin VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211
  */
-static char __buildInfo[] = "DSAPlugin VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a " __DATE__ ;
+static char __buildInfo[] = "DSAPlugin VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211 " __DATE__ ;
 
 
 
@@ -102,9 +102,9 @@
 struct VirtualMachine* interpreterProxy;
 static const char *moduleName =
 #ifdef SQUEAK_BUILTIN_PLUGIN
-	"DSAPrims VMMaker.oscog-eem.232 (i)"
+	"DSAPrims VMMaker.oscog-eem.233 (i)"
 #else
-	"DSAPrims VMMaker.oscog-eem.232 (e)"
+	"DSAPrims VMMaker.oscog-eem.233 (e)"
 #endif
 ;
 static sqInt remainderDigitCount;

Modified: branches/Cog/nscogsrc/plugins/DropPlugin/DropPlugin.c
===================================================================
--- branches/Cog/nscogsrc/plugins/DropPlugin/DropPlugin.c	2012-12-12 02:04:46 UTC (rev 2631)
+++ branches/Cog/nscogsrc/plugins/DropPlugin/DropPlugin.c	2012-12-12 21:45:24 UTC (rev 2632)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	VMPluginCodeGenerator VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a
+	VMPluginCodeGenerator VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211
    from
-	DropPlugin VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a
+	DropPlugin VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211
  */
-static char __buildInfo[] = "DropPlugin VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a " __DATE__ ;
+static char __buildInfo[] = "DropPlugin VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211 " __DATE__ ;
 
 
 
@@ -88,9 +88,9 @@
 struct VirtualMachine* interpreterProxy;
 static const char *moduleName =
 #ifdef SQUEAK_BUILTIN_PLUGIN
-	"DropPlugin VMMaker.oscog-eem.232 (i)"
+	"DropPlugin VMMaker.oscog-eem.233 (i)"
 #else
-	"DropPlugin VMMaker.oscog-eem.232 (e)"
+	"DropPlugin VMMaker.oscog-eem.233 (e)"
 #endif
 ;
 

Modified: branches/Cog/nscogsrc/plugins/FileCopyPlugin/FileCopyPlugin.c
===================================================================
--- branches/Cog/nscogsrc/plugins/FileCopyPlugin/FileCopyPlugin.c	2012-12-12 02:04:46 UTC (rev 2631)
+++ branches/Cog/nscogsrc/plugins/FileCopyPlugin/FileCopyPlugin.c	2012-12-12 21:45:24 UTC (rev 2632)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	SmartSyntaxPluginCodeGenerator VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a
+	SmartSyntaxPluginCodeGenerator VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211
    from
-	FileCopyPlugin VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a
+	FileCopyPlugin VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211
  */
-static char __buildInfo[] = "FileCopyPlugin VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a " __DATE__ ;
+static char __buildInfo[] = "FileCopyPlugin VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211 " __DATE__ ;
 
 
 
@@ -82,9 +82,9 @@
 struct VirtualMachine* interpreterProxy;
 static const char *moduleName =
 #ifdef SQUEAK_BUILTIN_PLUGIN
-	"FileCopyPlugin VMMaker.oscog-eem.232 (i)"
+	"FileCopyPlugin VMMaker.oscog-eem.233 (i)"
 #else
-	"FileCopyPlugin VMMaker.oscog-eem.232 (e)"
+	"FileCopyPlugin VMMaker.oscog-eem.233 (e)"
 #endif
 ;
 

Modified: branches/Cog/nscogsrc/plugins/FilePlugin/FilePlugin.c
===================================================================
--- branches/Cog/nscogsrc/plugins/FilePlugin/FilePlugin.c	2012-12-12 02:04:46 UTC (rev 2631)
+++ branches/Cog/nscogsrc/plugins/FilePlugin/FilePlugin.c	2012-12-12 21:45:24 UTC (rev 2632)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	VMPluginCodeGenerator VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a
+	VMPluginCodeGenerator VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211
    from
-	FilePlugin VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a
+	FilePlugin VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211
  */
-static char __buildInfo[] = "FilePlugin VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a " __DATE__ ;
+static char __buildInfo[] = "FilePlugin VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211 " __DATE__ ;
 
 
 
@@ -182,9 +182,9 @@
 struct VirtualMachine* interpreterProxy;
 static const char *moduleName =
 #ifdef SQUEAK_BUILTIN_PLUGIN
-	"FilePlugin VMMaker.oscog-eem.232 (i)"
+	"FilePlugin VMMaker.oscog-eem.233 (i)"
 #else
-	"FilePlugin VMMaker.oscog-eem.232 (e)"
+	"FilePlugin VMMaker.oscog-eem.233 (e)"
 #endif
 ;
 static void * sCCPfn;

Modified: branches/Cog/nscogsrc/plugins/FloatArrayPlugin/FloatArrayPlugin.c
===================================================================
--- branches/Cog/nscogsrc/plugins/FloatArrayPlugin/FloatArrayPlugin.c	2012-12-12 02:04:46 UTC (rev 2631)
+++ branches/Cog/nscogsrc/plugins/FloatArrayPlugin/FloatArrayPlugin.c	2012-12-12 21:45:24 UTC (rev 2632)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	VMPluginCodeGenerator VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a
+	VMPluginCodeGenerator VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211
    from
-	FloatArrayPlugin VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a
+	FloatArrayPlugin VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211
  */
-static char __buildInfo[] = "FloatArrayPlugin VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a " __DATE__ ;
+static char __buildInfo[] = "FloatArrayPlugin VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211 " __DATE__ ;
 
 
 
@@ -120,9 +120,9 @@
 struct VirtualMachine* interpreterProxy;
 static const char *moduleName =
 #ifdef SQUEAK_BUILTIN_PLUGIN
-	"FloatArrayPlugin VMMaker.oscog-eem.232 (i)"
+	"FloatArrayPlugin VMMaker.oscog-eem.233 (i)"
 #else
-	"FloatArrayPlugin VMMaker.oscog-eem.232 (e)"
+	"FloatArrayPlugin VMMaker.oscog-eem.233 (e)"
 #endif
 ;
 

Modified: branches/Cog/nscogsrc/plugins/FloatMathPlugin/FloatMathPlugin.c
===================================================================
--- branches/Cog/nscogsrc/plugins/FloatMathPlugin/FloatMathPlugin.c	2012-12-12 02:04:46 UTC (rev 2631)
+++ branches/Cog/nscogsrc/plugins/FloatMathPlugin/FloatMathPlugin.c	2012-12-12 21:45:24 UTC (rev 2632)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	VMPluginCodeGenerator VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a
+	VMPluginCodeGenerator VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211
    from
-	FloatMathPlugin VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a
+	FloatMathPlugin VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211
  */
-static char __buildInfo[] = "FloatMathPlugin VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a " __DATE__ ;
+static char __buildInfo[] = "FloatMathPlugin VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211 " __DATE__ ;
 
 
 
@@ -101,9 +101,9 @@
 struct VirtualMachine* interpreterProxy;
 static const char *moduleName =
 #ifdef SQUEAK_BUILTIN_PLUGIN
-	"FloatMathPlugin VMMaker.oscog-eem.232 (i)"
+	"FloatMathPlugin VMMaker.oscog-eem.233 (i)"
 #else
-	"FloatMathPlugin VMMaker.oscog-eem.232 (e)"
+	"FloatMathPlugin VMMaker.oscog-eem.233 (e)"
 #endif
 ;
 

Modified: branches/Cog/nscogsrc/plugins/IA32ABI/IA32ABI.c
===================================================================
--- branches/Cog/nscogsrc/plugins/IA32ABI/IA32ABI.c	2012-12-12 02:04:46 UTC (rev 2631)
+++ branches/Cog/nscogsrc/plugins/IA32ABI/IA32ABI.c	2012-12-12 21:45:24 UTC (rev 2632)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	VMPluginCodeGenerator VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a
+	VMPluginCodeGenerator VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211
    from
-	NewsqueakIA32ABIPlugin VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a
+	NewsqueakIA32ABIPlugin VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211
  */
-static char __buildInfo[] = "NewsqueakIA32ABIPlugin VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a " __DATE__ ;
+static char __buildInfo[] = "NewsqueakIA32ABIPlugin VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211 " __DATE__ ;
 
 
 
@@ -228,9 +228,9 @@
 struct VirtualMachine* interpreterProxy;
 static const char *moduleName =
 #ifdef SQUEAK_BUILTIN_PLUGIN
-	"IA32ABI VMMaker.oscog-eem.232 (i)"
+	"IA32ABI VMMaker.oscog-eem.233 (i)"
 #else
-	"IA32ABI VMMaker.oscog-eem.232 (e)"
+	"IA32ABI VMMaker.oscog-eem.233 (e)"
 #endif
 ;
 

Modified: branches/Cog/nscogsrc/plugins/JPEGReadWriter2Plugin/JPEGReadWriter2Plugin.c
===================================================================
--- branches/Cog/nscogsrc/plugins/JPEGReadWriter2Plugin/JPEGReadWriter2Plugin.c	2012-12-12 02:04:46 UTC (rev 2631)
+++ branches/Cog/nscogsrc/plugins/JPEGReadWriter2Plugin/JPEGReadWriter2Plugin.c	2012-12-12 21:45:24 UTC (rev 2632)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	SmartSyntaxPluginCodeGenerator VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a
+	SmartSyntaxPluginCodeGenerator VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211
    from
-	JPEGReadWriter2Plugin VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a
+	JPEGReadWriter2Plugin VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211
  */
-static char __buildInfo[] = "JPEGReadWriter2Plugin VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a " __DATE__ ;
+static char __buildInfo[] = "JPEGReadWriter2Plugin VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211 " __DATE__ ;
 
 
 
@@ -111,9 +111,9 @@
 struct VirtualMachine* interpreterProxy;
 static const char *moduleName =
 #ifdef SQUEAK_BUILTIN_PLUGIN
-	"JPEGReadWriter2Plugin VMMaker.oscog-eem.232 (i)"
+	"JPEGReadWriter2Plugin VMMaker.oscog-eem.233 (i)"
 #else
-	"JPEGReadWriter2Plugin VMMaker.oscog-eem.232 (e)"
+	"JPEGReadWriter2Plugin VMMaker.oscog-eem.233 (e)"
 #endif
 ;
 

Modified: branches/Cog/nscogsrc/plugins/JPEGReaderPlugin/JPEGReaderPlugin.c
===================================================================
--- branches/Cog/nscogsrc/plugins/JPEGReaderPlugin/JPEGReaderPlugin.c	2012-12-12 02:04:46 UTC (rev 2631)
+++ branches/Cog/nscogsrc/plugins/JPEGReaderPlugin/JPEGReaderPlugin.c	2012-12-12 21:45:24 UTC (rev 2632)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	VMPluginCodeGenerator VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a
+	VMPluginCodeGenerator VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211
    from
-	JPEGReaderPlugin VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a
+	JPEGReaderPlugin VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211
  */
-static char __buildInfo[] = "JPEGReaderPlugin VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a " __DATE__ ;
+static char __buildInfo[] = "JPEGReaderPlugin VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211 " __DATE__ ;
 
 
 
@@ -188,9 +188,9 @@
 static sqInt jsReadLimit;
 static const char *moduleName =
 #ifdef SQUEAK_BUILTIN_PLUGIN
-	"JPEGReaderPlugin VMMaker.oscog-eem.232 (i)"
+	"JPEGReaderPlugin VMMaker.oscog-eem.233 (i)"
 #else
-	"JPEGReaderPlugin VMMaker.oscog-eem.232 (e)"
+	"JPEGReaderPlugin VMMaker.oscog-eem.233 (e)"
 #endif
 ;
 static int *residuals;

Modified: branches/Cog/nscogsrc/plugins/LargeIntegers/LargeIntegers.c
===================================================================
--- branches/Cog/nscogsrc/plugins/LargeIntegers/LargeIntegers.c	2012-12-12 02:04:46 UTC (rev 2631)
+++ branches/Cog/nscogsrc/plugins/LargeIntegers/LargeIntegers.c	2012-12-12 21:45:24 UTC (rev 2632)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	SmartSyntaxPluginCodeGenerator VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a
+	SmartSyntaxPluginCodeGenerator VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211
    from
-	LargeIntegersPlugin VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a
+	LargeIntegersPlugin VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211
  */
-static char __buildInfo[] = "LargeIntegersPlugin VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a " __DATE__ ;
+static char __buildInfo[] = "LargeIntegersPlugin VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211 " __DATE__ ;
 
 
 
@@ -181,9 +181,9 @@
 struct VirtualMachine* interpreterProxy;
 static const char *moduleName =
 #ifdef SQUEAK_BUILTIN_PLUGIN
-	"LargeIntegers v1.5 VMMaker.oscog-eem.232 (i)"
+	"LargeIntegers v1.5 VMMaker.oscog-eem.233 (i)"
 #else
-	"LargeIntegers v1.5 VMMaker.oscog-eem.232 (e)"
+	"LargeIntegers v1.5 VMMaker.oscog-eem.233 (e)"
 #endif
 ;
 static const int  orOpIndex = 1;

Modified: branches/Cog/nscogsrc/plugins/Matrix2x3Plugin/Matrix2x3Plugin.c
===================================================================
--- branches/Cog/nscogsrc/plugins/Matrix2x3Plugin/Matrix2x3Plugin.c	2012-12-12 02:04:46 UTC (rev 2631)
+++ branches/Cog/nscogsrc/plugins/Matrix2x3Plugin/Matrix2x3Plugin.c	2012-12-12 21:45:24 UTC (rev 2632)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	VMPluginCodeGenerator VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a
+	VMPluginCodeGenerator VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211
    from
-	Matrix2x3Plugin VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a
+	Matrix2x3Plugin VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211
  */
-static char __buildInfo[] = "Matrix2x3Plugin VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a " __DATE__ ;
+static char __buildInfo[] = "Matrix2x3Plugin VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211 " __DATE__ ;
 
 
 
@@ -125,9 +125,9 @@
 static double m23ResultY;
 static const char *moduleName =
 #ifdef SQUEAK_BUILTIN_PLUGIN
-	"Matrix2x3Plugin VMMaker.oscog-eem.232 (i)"
+	"Matrix2x3Plugin VMMaker.oscog-eem.233 (i)"
 #else
-	"Matrix2x3Plugin VMMaker.oscog-eem.232 (e)"
+	"Matrix2x3Plugin VMMaker.oscog-eem.233 (e)"
 #endif
 ;
 

Modified: branches/Cog/nscogsrc/plugins/MiscPrimitivePlugin/MiscPrimitivePlugin.c
===================================================================
--- branches/Cog/nscogsrc/plugins/MiscPrimitivePlugin/MiscPrimitivePlugin.c	2012-12-12 02:04:46 UTC (rev 2631)
+++ branches/Cog/nscogsrc/plugins/MiscPrimitivePlugin/MiscPrimitivePlugin.c	2012-12-12 21:45:24 UTC (rev 2632)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	VMPluginCodeGenerator VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a
+	VMPluginCodeGenerator VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211
    from
-	MiscPrimitivePlugin VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a
+	MiscPrimitivePlugin VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211
  */
-static char __buildInfo[] = "MiscPrimitivePlugin VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a " __DATE__ ;
+static char __buildInfo[] = "MiscPrimitivePlugin VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211 " __DATE__ ;
 
 
 
@@ -87,9 +87,9 @@
 struct VirtualMachine* interpreterProxy;
 static const char *moduleName =
 #ifdef SQUEAK_BUILTIN_PLUGIN
-	"MiscPrimitivePlugin VMMaker.oscog-eem.232 (i)"
+	"MiscPrimitivePlugin VMMaker.oscog-eem.233 (i)"
 #else
-	"MiscPrimitivePlugin VMMaker.oscog-eem.232 (e)"
+	"MiscPrimitivePlugin VMMaker.oscog-eem.233 (e)"
 #endif
 ;
 

Modified: branches/Cog/nscogsrc/plugins/RePlugin/RePlugin.c
===================================================================
--- branches/Cog/nscogsrc/plugins/RePlugin/RePlugin.c	2012-12-12 02:04:46 UTC (rev 2631)
+++ branches/Cog/nscogsrc/plugins/RePlugin/RePlugin.c	2012-12-12 21:45:24 UTC (rev 2632)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	SmartSyntaxPluginCodeGenerator VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a
+	SmartSyntaxPluginCodeGenerator VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211
    from
-	RePlugin VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a
+	RePlugin VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211
  */
-static char __buildInfo[] = "RePlugin VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a " __DATE__ ;
+static char __buildInfo[] = "RePlugin VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211 " __DATE__ ;
 
 
 
@@ -134,9 +134,9 @@
 static sqInt matchFlags;
 static const char *moduleName =
 #ifdef SQUEAK_BUILTIN_PLUGIN
-	"RePlugin VMMaker.oscog-eem.232 (i)"
+	"RePlugin VMMaker.oscog-eem.233 (i)"
 #else
-	"RePlugin VMMaker.oscog-eem.232 (e)"
+	"RePlugin VMMaker.oscog-eem.233 (e)"
 #endif
 ;
 static int netMemory = 0;

Modified: branches/Cog/nscogsrc/plugins/SecurityPlugin/SecurityPlugin.c
===================================================================
--- branches/Cog/nscogsrc/plugins/SecurityPlugin/SecurityPlugin.c	2012-12-12 02:04:46 UTC (rev 2631)
+++ branches/Cog/nscogsrc/plugins/SecurityPlugin/SecurityPlugin.c	2012-12-12 21:45:24 UTC (rev 2632)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	VMPluginCodeGenerator VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a
+	VMPluginCodeGenerator VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211
    from
-	SecurityPlugin VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a
+	SecurityPlugin VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211
  */
-static char __buildInfo[] = "SecurityPlugin VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a " __DATE__ ;
+static char __buildInfo[] = "SecurityPlugin VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211 " __DATE__ ;
 
 
 
@@ -104,9 +104,9 @@
 struct VirtualMachine* interpreterProxy;
 static const char *moduleName =
 #ifdef SQUEAK_BUILTIN_PLUGIN
-	"SecurityPlugin VMMaker.oscog-eem.232 (i)"
+	"SecurityPlugin VMMaker.oscog-eem.233 (i)"
 #else
-	"SecurityPlugin VMMaker.oscog-eem.232 (e)"
+	"SecurityPlugin VMMaker.oscog-eem.233 (e)"
 #endif
 ;
 

Modified: branches/Cog/nscogsrc/plugins/SocketPlugin/SocketPlugin.c
===================================================================
--- branches/Cog/nscogsrc/plugins/SocketPlugin/SocketPlugin.c	2012-12-12 02:04:46 UTC (rev 2631)
+++ branches/Cog/nscogsrc/plugins/SocketPlugin/SocketPlugin.c	2012-12-12 21:45:24 UTC (rev 2632)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	SmartSyntaxPluginCodeGenerator VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a
+	SmartSyntaxPluginCodeGenerator VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211
    from
-	SocketPlugin VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a
+	SocketPlugin VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211
  */
-static char __buildInfo[] = "SocketPlugin VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a " __DATE__ ;
+static char __buildInfo[] = "SocketPlugin VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211 " __DATE__ ;
 
 
 
@@ -187,9 +187,9 @@
 struct VirtualMachine* interpreterProxy;
 static const char *moduleName =
 #ifdef SQUEAK_BUILTIN_PLUGIN
-	"SocketPlugin VMMaker.oscog-eem.232 (i)"
+	"SocketPlugin VMMaker.oscog-eem.233 (i)"
 #else
-	"SocketPlugin VMMaker.oscog-eem.232 (e)"
+	"SocketPlugin VMMaker.oscog-eem.233 (e)"
 #endif
 ;
 static void * sCCLOPfn;

Modified: branches/Cog/nscogsrc/plugins/SoundPlugin/SoundPlugin.c
===================================================================
--- branches/Cog/nscogsrc/plugins/SoundPlugin/SoundPlugin.c	2012-12-12 02:04:46 UTC (rev 2631)
+++ branches/Cog/nscogsrc/plugins/SoundPlugin/SoundPlugin.c	2012-12-12 21:45:24 UTC (rev 2632)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	SmartSyntaxPluginCodeGenerator VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a
+	SmartSyntaxPluginCodeGenerator VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211
    from
-	SoundPlugin VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a
+	SoundPlugin VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211
  */
-static char __buildInfo[] = "SoundPlugin VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a " __DATE__ ;
+static char __buildInfo[] = "SoundPlugin VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211 " __DATE__ ;
 
 
 
@@ -118,9 +118,9 @@
 struct VirtualMachine* interpreterProxy;
 static const char *moduleName =
 #ifdef SQUEAK_BUILTIN_PLUGIN
-	"SoundPlugin VMMaker.oscog-eem.232 (i)"
+	"SoundPlugin VMMaker.oscog-eem.233 (i)"
 #else
-	"SoundPlugin VMMaker.oscog-eem.232 (e)"
+	"SoundPlugin VMMaker.oscog-eem.233 (e)"
 #endif
 ;
 

Modified: branches/Cog/nscogsrc/plugins/UUIDPlugin/UUIDPlugin.c
===================================================================
--- branches/Cog/nscogsrc/plugins/UUIDPlugin/UUIDPlugin.c	2012-12-12 02:04:46 UTC (rev 2631)
+++ branches/Cog/nscogsrc/plugins/UUIDPlugin/UUIDPlugin.c	2012-12-12 21:45:24 UTC (rev 2632)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	SmartSyntaxPluginCodeGenerator VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a
+	SmartSyntaxPluginCodeGenerator VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211
    from
-	UUIDPlugin VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a
+	UUIDPlugin VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211
  */
-static char __buildInfo[] = "UUIDPlugin VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a " __DATE__ ;
+static char __buildInfo[] = "UUIDPlugin VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211 " __DATE__ ;
 
 
 
@@ -83,9 +83,9 @@
 struct VirtualMachine* interpreterProxy;
 static const char *moduleName =
 #ifdef SQUEAK_BUILTIN_PLUGIN
-	"UUIDPlugin VMMaker.oscog-eem.232 (i)"
+	"UUIDPlugin VMMaker.oscog-eem.233 (i)"
 #else
-	"UUIDPlugin VMMaker.oscog-eem.232 (e)"
+	"UUIDPlugin VMMaker.oscog-eem.233 (e)"
 #endif
 ;
 

Modified: branches/Cog/nscogsrc/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c
===================================================================
--- branches/Cog/nscogsrc/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c	2012-12-12 02:04:46 UTC (rev 2631)
+++ branches/Cog/nscogsrc/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c	2012-12-12 21:45:24 UTC (rev 2632)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	VMPluginCodeGenerator VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a
+	VMPluginCodeGenerator VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211
    from
-	UnixOSProcessPlugin VMConstruction-Plugins-OSProcessPlugin.oscog-eem.37 uuid: 66e9d886-c656-4392-be32-84729d92e8b8
+	UnixOSProcessPlugin VMConstruction-Plugins-OSProcessPlugin.oscog-eem.38 uuid: 79420af3-4595-4d68-8de0-e27fdd576dd4
  */
-static char __buildInfo[] = "UnixOSProcessPlugin VMConstruction-Plugins-OSProcessPlugin.oscog-eem.37 uuid: 66e9d886-c656-4392-be32-84729d92e8b8 " __DATE__ ;
+static char __buildInfo[] = "UnixOSProcessPlugin VMConstruction-Plugins-OSProcessPlugin.oscog-eem.38 uuid: 79420af3-4595-4d68-8de0-e27fdd576dd4 " __DATE__ ;
 
 
 
@@ -104,6 +104,7 @@
 static sqInt maskSignalForThisThread(int sigNum);
 EXPORT(sqInt) moduleUnloaded(char *aModuleName);
 static sqInt msg(char *s);
+static sqInt needSigaltstack(void);
 static sqInt newPthreadTypeByteArray(pthread_t aPthreadType);
 static sqInt newSQFileByteArray(void);
 static sqInt newSQSocketByteArray(void);
@@ -210,7 +211,7 @@
 static void setSigChldHandler(void);
 static void setSigIntDefaultHandler(void);
 static void setSigIntIgnore(void);
-static void * setSignalNumberhandler(sqInt anInteger, void *signalHandlerAddress);
+static void * setSignalNumberhandler(sqInt signalNumber, sqInt signalHandlerAddress);
 static void setSigPipeDefaultHandler(void);
 static sqInt setSigPipeHandler(void);
 static void setSigPipeIgnore(void);
@@ -221,6 +222,7 @@
 static sqInt sigContNumber(void);
 static void * sigDefaultNumber(void);
 static void * sigErrorNumber(void);
+static void * sigHoldNumber(void);
 static sqInt sigHupNumber(void);
 static void * sigIgnoreNumber(void);
 static sqInt sigIntNumber(void);
@@ -321,9 +323,9 @@
 struct VirtualMachine* interpreterProxy;
 static const char *moduleName =
 #ifdef SQUEAK_BUILTIN_PLUGIN
-	"UnixOSProcessPlugin VMConstruction-Plugins-OSProcessPlugin.oscog-eem.37 (i)"
+	"UnixOSProcessPlugin VMConstruction-Plugins-OSProcessPlugin.oscog-eem.38 (i)"
 #else
-	"UnixOSProcessPlugin VMConstruction-Plugins-OSProcessPlugin.oscog-eem.37 (e)"
+	"UnixOSProcessPlugin VMConstruction-Plugins-OSProcessPlugin.oscog-eem.38 (e)"
 #endif
 ;
 static void *originalSigHandlers[NSIG];
@@ -334,6 +336,7 @@
 static sqInt sigChldSemaIndex;
 static void *sigHandlers[NSIG];
 static int sigNumToSend = SIGTERM;
+static sqInt useSignalStack;
 static pthread_t vmThread;
 
 
@@ -690,7 +693,6 @@
     char *pwdPtr;
     struct itimerval saveIntervalTimer;
     sqInt sigNum;
-    void *signalHandlerAddress;
     sqInt stdErr;
     sqInt stdIn;
     sqInt stdOut;
@@ -806,9 +808,7 @@
 				sigNum = 1;
 				while (sigNum <= (signalArraySize())) {
 					if ((semaIndices[sigNum]) > 0) {
-						/* begin setSignalNumber:handler: */
-						signalHandlerAddress = (originalSignalHandlers())[sigNum];
-						signal(sigNum, signalHandlerAddress);
+						setSignalNumberhandler(sigNum, (originalSignalHandlers())[sigNum]);
 					}
 					sigNum += 1;
 				}
@@ -926,7 +926,6 @@
 forwardSignaltoSemaphoreAt(sqInt sigNum, sqInt semaphoreIndex)
 {
     void *oldHandler;
-    void *signalHandlerAddress;
 
 	if (semaIndices == null) {
 		return null;
@@ -937,8 +936,7 @@
 
 		if ((semaIndices[sigNum]) != 0) {
 			oldHandler = (originalSignalHandlers())[sigNum];
-			/* begin setSignalNumber:handler: */
-			oldHandler = signal(sigNum, oldHandler);
+			oldHandler = setSignalNumberhandler(sigNum, oldHandler);
 			semaIndices[sigNum] = 0;
 			return oldHandler;
 		}
@@ -947,19 +945,18 @@
 			/* either -1 for printAllStacks or a positive integer for semaphore forwarding */
 			/* Signal handler had not been set, answer an error */
 
-			return sigErrorNumber();
+			/* begin sigErrorNumber */
+			return SIG_ERR;
 		}
 	}
 	if ((semaIndices[sigNum]) > 0) {
 
 		/* Handler is already set, answer an error */
 
-		return sigErrorNumber();
+		/* begin sigErrorNumber */
+		return SIG_ERR;
 	}
-	/* begin setSignalNumber:handler: */
-	/* begin handleSignalFunctionAddress */
-	signalHandlerAddress = handleSignal;
-	oldHandler = signal(sigNum, signalHandlerAddress);
+	oldHandler = setSignalNumberhandler(sigNum, handleSignalFunctionAddress());
 	if (oldHandler != (sigErrorNumber())) {
 		(originalSignalHandlers())[sigNum] = oldHandler;
 		semaIndices[sigNum] = semaphoreIndex;
@@ -1075,6 +1072,7 @@
 	pidCount = 0;
 	atexit(sendSignalToPids);
 	vmThread = pthread_self();
+	useSignalStack = -1;
 }
 
 
@@ -1181,16 +1179,11 @@
 static sqInt
 makePipeForReaderwriter(FILEHANDLETYPE *readerIOStreamPtr, FILEHANDLETYPE *writerIOStreamPtr)
 {
-    sqInt anInteger;
     int filedes[2];
-    void *signalHandlerAddress;
 
 	/* begin setSigPipeHandler */
 	/* begin setSigPipeIgnore */
-	/* begin setSignalNumber:handler: */
-	anInteger = sigPipeNumber();
-	signalHandlerAddress = sigIgnoreNumber();
-	signal(anInteger, signalHandlerAddress);
+	setSignalNumberhandler(SIGPIPE, sigIgnoreNumber());
 	if ((pipe(filedes)) == -1) {
 
 		/* Translates to a pipe() system call */
@@ -1251,6 +1244,67 @@
 }
 
 
+/*	Answer if the plugin should use a signalstack to avoid delivering signals
+	on the native stack, which can interfere with the JIT. As a side-effect,
+	allocate one if one is not already available. We use GetAttributeString
+	to detect the JIT, and if so detected we use a signalstack, We reuse
+	any existing signalstack if available. */
+
+static sqInt
+needSigaltstack(void)
+{
+    char * (*GetAttributeString)(int);
+    sqInt SigStackSize;
+    stack_t sigstack;
+
+	if (useSignalStack >= 0) {
+		return useSignalStack != 0;
+	}
+	GetAttributeString = ioLoadFunctionFrom("GetAttributeString", "os_exports");
+	if ((GetAttributeString == null)
+	 || ((GetAttributeString(1008)) == null)) {
+		useSignalStack = 0;
+		return 0;
+	}
+
+	/* Now see if there's already a sigaltstack in place */
+
+	useSignalStack = 1;
+	if ((sigaltstack(0,&sigstack)) < 0) {
+		perror("sigaltstack");
+	}
+	
+#  if defined(SA_DISABLE)
+	if (!(sigstack.ss_size == 0 || (sigstack.ss_flags & SA_DISABLE))) {
+		return 1;
+	}
+
+#  else /* defined(SA_DISABLE) */
+
+	/* e.g. Mac OS documents SA_DISABLE but defines SS_DISABLE */
+
+	if (!(sigstack.ss_size == 0 || (sigstack.ss_flags & SS_DISABLE))) {
+		return 1;
+	}
+
+#  endif /* defined(SA_DISABLE) */
+
+	SigStackSize = ((((1024 * (sizeof(void *))) * 16) < (MINSIGSTKSZ)) ? (MINSIGSTKSZ) : ((1024 * (sizeof(void *))) * 16));
+	if (null == (sigstack.ss_size = SigStackSize, sigstack.ss_sp = malloc(SigStackSize))) {
+		msg("sigstack malloc failed");
+		useSignalStack = 0;
+		return 0;
+	}
+	if (sigaltstack(&sigstack, 0) < 0) {
+		msg("sigaltstack install failed");
+		(void)free(sigstack.ss_sp);
+		useSignalStack = 0;
+		return 0;
+	}
+	return 1;
+}
+
+
 /*	A pthread_t is an unsigned long, which may be 8 bytes on some 64 bit
 	platforms. This stores the value in a byte array that can be easily
 	passed to the image. */
@@ -2712,7 +2766,6 @@
 {
     pid_t pidToSignal;
     int result;
-    sqInt sig;
 
 
 	/* Do not allow signal sending if running in secure mode */
@@ -2724,9 +2777,7 @@
 	else {
 		if (isIntegerObject(stackValue(0))) {
 			pidToSignal = stackIntegerValue(0);
-			/* begin sendSignal:toPid: */
-			sig = sigAbrtNumber();
-			result = ((sqInt) (kill(pidToSignal, sig)));
+			result = kill(pidToSignal, SIGABRT);
 			pop(2);
 			pushInteger(result);
 		}
@@ -2750,7 +2801,6 @@
 {
     pid_t pidToSignal;
     int result;
-    sqInt sig;
 
 
 	/* Do not allow signal sending if running in secure mode */
@@ -2762,9 +2812,7 @@
 	else {
 		if (isIntegerObject(stackValue(0))) {
 			pidToSignal = stackIntegerValue(0);
-			/* begin sendSignal:toPid: */
-			sig = sigAlrmNumber();
-			result = ((sqInt) (kill(pidToSignal, sig)));
+			result = kill(pidToSignal, SIGALRM);
 			pop(2);
 			pushInteger(result);
 		}
@@ -2789,7 +2837,6 @@
 {
     pid_t pidToSignal;
     int result;
-    sqInt sig;
 
 
 	/* Do not allow signal sending if running in secure mode */
@@ -2801,9 +2848,7 @@
 	else {
 		if (isIntegerObject(stackValue(0))) {
 			pidToSignal = stackIntegerValue(0);
-			/* begin sendSignal:toPid: */
-			sig = sigChldNumber();
-			result = ((sqInt) (kill(pidToSignal, sig)));
+			result = kill(pidToSignal, SIGCHLD);
 			pop(2);
 			pushInteger(result);
 		}
@@ -2827,7 +2872,6 @@
 {
     pid_t pidToSignal;
     int result;
-    sqInt sig;
 
 
 	/* Do not allow signal sending if running in secure mode */
@@ -2839,9 +2883,7 @@
 	else {
 		if (isIntegerObject(stackValue(0))) {
 			pidToSignal = stackIntegerValue(0);
-			/* begin sendSignal:toPid: */
-			sig = sigContNumber();
-			result = ((sqInt) (kill(pidToSignal, sig)));
+			result = kill(pidToSignal, SIGCONT);
 			pop(2);
 			pushInteger(result);
 		}
@@ -2864,7 +2906,6 @@
 {
     pid_t pidToSignal;
     int result;
-    sqInt sig;
 
 
 	/* Do not allow signal sending if running in secure mode */
@@ -2876,9 +2917,7 @@
 	else {
 		if (isIntegerObject(stackValue(0))) {
 			pidToSignal = stackIntegerValue(0);
-			/* begin sendSignal:toPid: */
-			sig = sigHupNumber();
-			result = ((sqInt) (kill(pidToSignal, sig)));
+			result = kill(pidToSignal, SIGHUP);
 			pop(2);
 			pushInteger(result);
 		}
@@ -2902,7 +2941,6 @@
 {
     pid_t pidToSignal;
     int result;
-    sqInt sig;
 
 
 	/* Do not allow signal sending if running in secure mode */
@@ -2914,9 +2952,7 @@
 	else {
 		if (isIntegerObject(stackValue(0))) {
 			pidToSignal = stackIntegerValue(0);
-			/* begin sendSignal:toPid: */
-			sig = sigIntNumber();
-			result = ((sqInt) (kill(pidToSignal, sig)));
+			result = kill(pidToSignal, SIGINT);
 			pop(2);
 			pushInteger(result);
 		}
@@ -2940,7 +2976,6 @@
 {
     pid_t pidToSignal;
     int result;
-    sqInt sig;
 
 
 	/* Do not allow signal sending if running in secure mode */
@@ -2952,9 +2987,7 @@
 	else {
 		if (isIntegerObject(stackValue(0))) {
 			pidToSignal = stackIntegerValue(0);
-			/* begin sendSignal:toPid: */
-			sig = sigKillNumber();
-			result = ((sqInt) (kill(pidToSignal, sig)));
+			result = kill(pidToSignal, SIGKILL);
 			pop(2);
 			pushInteger(result);
 		}
@@ -2978,7 +3011,6 @@
 {
     pid_t pidToSignal;
     int result;
-    sqInt sig;
 
 
 	/* Do not allow signal sending if running in secure mode */
@@ -2990,9 +3022,7 @@
 	else {
 		if (isIntegerObject(stackValue(0))) {
 			pidToSignal = stackIntegerValue(0);
-			/* begin sendSignal:toPid: */
-			sig = sigPipeNumber();
-			result = ((sqInt) (kill(pidToSignal, sig)));
+			result = kill(pidToSignal, SIGPIPE);
 			pop(2);
 			pushInteger(result);
 		}
@@ -3015,7 +3045,6 @@
 {
     pid_t pidToSignal;
     int result;
-    sqInt sig;
 
 
 	/* Do not allow signal sending if running in secure mode */
@@ -3027,9 +3056,7 @@
 	else {
 		if (isIntegerObject(stackValue(0))) {
 			pidToSignal = stackIntegerValue(0);
-			/* begin sendSignal:toPid: */
-			sig = sigQuitNumber();
-			result = ((sqInt) (kill(pidToSignal, sig)));
+			result = kill(pidToSignal, SIGQUIT);
 			pop(2);
 			pushInteger(result);
 		}
@@ -3053,7 +3080,6 @@
 {
     pid_t pidToSignal;
     int result;
-    sqInt sig;
 
 
 	/* Do not allow signal sending if running in secure mode */
@@ -3065,9 +3091,7 @@
 	else {
 		if (isIntegerObject(stackValue(0))) {
 			pidToSignal = stackIntegerValue(0);
-			/* begin sendSignal:toPid: */
-			sig = sigStopNumber();
-			result = ((sqInt) (kill(pidToSignal, sig)));
+			result = kill(pidToSignal, SIGSTOP);
 			pop(2);
 			pushInteger(result);
 		}
@@ -3091,7 +3115,6 @@
 {
     pid_t pidToSignal;
     int result;
-    sqInt sig;
 
 
 	/* Do not allow signal sending if running in secure mode */
@@ -3103,9 +3126,7 @@
 	else {
 		if (isIntegerObject(stackValue(0))) {
 			pidToSignal = stackIntegerValue(0);
-			/* begin sendSignal:toPid: */
-			sig = sigTermNumber();
-			result = ((sqInt) (kill(pidToSignal, sig)));
+			result = kill(pidToSignal, SIGTERM);
 			pop(2);
 			pushInteger(result);
 		}
@@ -3129,7 +3150,6 @@
 {
     pid_t pidToSignal;
     int result;
-    sqInt sig;
 
 
 	/* Do not allow signal sending if running in secure mode */
@@ -3141,9 +3161,7 @@
 	else {
 		if (isIntegerObject(stackValue(0))) {
 			pidToSignal = stackIntegerValue(0);
-			/* begin sendSignal:toPid: */
-			sig = sigUsr1Number();
-			result = ((sqInt) (kill(pidToSignal, sig)));
+			result = kill(pidToSignal, SIGUSR1);
 			pop(2);
 			pushInteger(result);
 		}
@@ -3167,7 +3185,6 @@
 {
     pid_t pidToSignal;
     int result;
-    sqInt sig;
 
 
 	/* Do not allow signal sending if running in secure mode */
@@ -3179,9 +3196,7 @@
 	else {
 		if (isIntegerObject(stackValue(0))) {
 			pidToSignal = stackIntegerValue(0);
-			/* begin sendSignal:toPid: */
-			sig = sigUsr2Number();
-			result = ((sqInt) (kill(pidToSignal, sig)));
+			result = kill(pidToSignal, SIGUSR2);
 			pop(2);
 			pushInteger(result);
 		}
@@ -3275,7 +3290,7 @@
 primitiveSigChldNumber(void)
 {
 	pop(1);
-	pushInteger(sigChldNumber());
+	pushInteger(SIGCHLD);
 }
 
 
@@ -3285,7 +3300,7 @@
 primitiveSigHupNumber(void)
 {
 	pop(1);
-	pushInteger(sigHupNumber());
+	pushInteger(SIGHUP);
 }
 
 
@@ -3295,7 +3310,7 @@
 primitiveSigIntNumber(void)
 {
 	pop(1);
-	pushInteger(sigIntNumber());
+	pushInteger(SIGINT);
 }
 
 
@@ -3305,7 +3320,7 @@
 primitiveSigKillNumber(void)
 {
 	pop(1);
-	pushInteger(sigKillNumber());
+	pushInteger(SIGKILL);
 }
 
 
@@ -3315,7 +3330,7 @@
 primitiveSigPipeNumber(void)
 {
 	pop(1);
-	pushInteger(sigPipeNumber());
+	pushInteger(SIGPIPE);
 }
 
 
@@ -3325,7 +3340,7 @@
 primitiveSigQuitNumber(void)
 {
 	pop(1);
-	pushInteger(sigQuitNumber());
+	pushInteger(SIGQUIT);
 }
 
 
@@ -3335,7 +3350,7 @@
 primitiveSigTermNumber(void)
 {
 	pop(1);
-	pushInteger(sigTermNumber());
+	pushInteger(SIGTERM);
 }
 
 
@@ -3345,7 +3360,7 @@
 primitiveSigUsr1Number(void)
 {
 	pop(1);
-	pushInteger(sigUsr1Number());
+	pushInteger(SIGUSR1);
 }
 
 
@@ -3355,7 +3370,7 @@
 primitiveSigUsr2Number(void)
 {
 	pop(1);
-	pushInteger(sigUsr2Number());
+	pushInteger(SIGUSR2);
 }
 
 
@@ -3982,7 +3997,6 @@
 restoreDefaultSignalHandlers(void)
 {
     sqInt sigNum;
-    void *signalHandlerAddress;
 
 	if (!(semaIndices == null)) {
 
@@ -3991,9 +4005,7 @@
 		sigNum = 1;
 		while (sigNum <= (signalArraySize())) {
 			if ((semaIndices[sigNum]) > 0) {
-				/* begin setSignalNumber:handler: */
-				signalHandlerAddress = (originalSignalHandlers())[sigNum];
-				signal(sigNum, signalHandlerAddress);
+				setSignalNumberhandler(sigNum, (originalSignalHandlers())[sigNum]);
 			}
 			sigNum += 1;
 		}
@@ -4176,35 +4188,31 @@
 static void
 setSigChldHandler(void)
 {
-    struct sigaction sigchldHanderAction;
+    struct sigaction sigchldHandlerAction;
 
 	
-#if defined(SA_NOCLDSTOP)
-	sigchldHanderAction.sa_sigaction = reapChildProcess;
-	sigchldHanderAction.sa_flags = SA_NODEFER | SA_NOCLDSTOP;
-	sigemptyset(&sigchldHanderAction.sa_mask);
-	if ((sigaction(SIGCHLD, &sigchldHanderAction, 0)) == (sigErrorNumber())) {
-		perror("signal");
+#  if defined(SA_NOCLDSTOP)
+	sigchldHandlerAction.sa_sigaction = reapChildProcess;
+	sigchldHandlerAction.sa_flags = SA_NODEFER | SA_NOCLDSTOP;
+	if (needSigaltstack()) {
+		sigchldHandlerAction.sa_flags |= SA_ONSTACK;
 	}
-	
-#else /* defined(SA_NOCLDSTOP) */
-	if ((signal(SIGCHLD, reapChildProcess)) == (sigErrorNumber())) {
+	sigemptyset(&sigchldHandlerAction.sa_mask);
+	if ((sigaction(SIGCHLD, &sigchldHandlerAction, 0)) == (sigErrorNumber())) {
 		perror("signal");
 	}
-	
-#endif /* defined(SA_NOCLDSTOP) */
+
+#  else /* defined(SA_NOCLDSTOP) */
+	setSignalNumberhandler(SIGCHLD, reapChildProcess);
+
+#  endif /* defined(SA_NOCLDSTOP) */
+
 }
 
 static void
 setSigIntDefaultHandler(void)
 {
-    sqInt anInteger;
-    void *signalHandlerAddress;
-
-	/* begin setSignalNumber:handler: */
-	anInteger = sigIntNumber();
-	signalHandlerAddress = sigDefaultNumber();
-	signal(anInteger, signalHandlerAddress);
+	setSignalNumberhandler(SIGINT, sigDefaultNumber());
 }
 
 
@@ -4213,13 +4221,7 @@
 static void
 setSigIntIgnore(void)
 {
-    sqInt anInteger;
-    void *signalHandlerAddress;
-
-	/* begin setSignalNumber:handler: */
-	anInteger = sigIntNumber();
-	signalHandlerAddress = sigIgnoreNumber();
-	signal(anInteger, signalHandlerAddress);
+	setSignalNumberhandler(SIGINT, sigIgnoreNumber());
 }
 
 
@@ -4228,21 +4230,27 @@
  */
 
 static void *
-setSignalNumberhandler(sqInt anInteger, void *signalHandlerAddress)
+setSignalNumberhandler(sqInt signalNumber, sqInt signalHandlerAddress)
 {
-	return signal(anInteger, signalHandlerAddress);
+    struct sigaction oldHandlerAction;
+    struct sigaction sigHandlerAction;
+
+	if (!useSignalStack) {
+		return signal(signalNumber, signalHandlerAddress);
+	}
+	sigHandlerAction.sa_sigaction = signalHandlerAddress;
+	sigHandlerAction.sa_flags = SA_ONSTACK | SA_RESTART;
+	sigemptyset(&sigHandlerAction.sa_mask);
+	if ((sigaction(signalNumber, (&sigHandlerAction), (&oldHandlerAction))) == (sigErrorNumber())) {
+		perror("signal");
+	}
+	return oldHandlerAction.sa_sigaction;
 }
 
 static void
 setSigPipeDefaultHandler(void)
 {
-    sqInt anInteger;
-    void *signalHandlerAddress;
-
-	/* begin setSignalNumber:handler: */
-	anInteger = sigPipeNumber();
-	signalHandlerAddress = sigDefaultNumber();
-	signal(anInteger, signalHandlerAddress);
+	setSignalNumberhandler(SIGPIPE, sigDefaultNumber());
 }
 
 
@@ -4257,14 +4265,8 @@
 static sqInt
 setSigPipeHandler(void)
 {
-    sqInt anInteger;
-    void *signalHandlerAddress;
-
 	/* begin setSigPipeIgnore */
-	/* begin setSignalNumber:handler: */
-	anInteger = sigPipeNumber();
-	signalHandlerAddress = sigIgnoreNumber();
-	signal(anInteger, signalHandlerAddress);
+	setSignalNumberhandler(SIGPIPE, sigIgnoreNumber());
 }
 
 
@@ -4275,20 +4277,13 @@
 static void
 setSigPipeIgnore(void)
 {
-    sqInt anInteger;
-    void *signalHandlerAddress;
-
-	/* begin setSignalNumber:handler: */
-	anInteger = sigPipeNumber();
-	signalHandlerAddress = sigIgnoreNumber();
-	signal(anInteger, signalHandlerAddress);
+	setSignalNumberhandler(SIGPIPE, sigIgnoreNumber());
 }
 
 EXPORT(sqInt)
 shutdownModule(void)
 {
     sqInt sigNum;
-    void *signalHandlerAddress;
 
 	/* begin restoreDefaultSignalHandlers */
 	if (!(semaIndices == null)) {
@@ -4298,9 +4293,7 @@
 		sigNum = 1;
 		while (sigNum <= (signalArraySize())) {
 			if ((semaIndices[sigNum]) > 0) {
-				/* begin setSignalNumber:handler: */
-				signalHandlerAddress = (originalSignalHandlers())[sigNum];
-				signal(sigNum, signalHandlerAddress);
+				setSignalNumberhandler(sigNum, (originalSignalHandlers())[sigNum]);
 			}
 			sigNum += 1;
 		}
@@ -4362,6 +4355,15 @@
 }
 
 
+/*	Hold action for a signal */
+
+static void *
+sigHoldNumber(void)
+{
+	return SIG_HOLD;
+}
+
+
 /*	Hangup detected on controlling terminal or death of controlling process */
 
 static sqInt
@@ -4457,7 +4459,7 @@
 
 
 /*	User defined signal number 1. This is value is platform-dependent, so the
-	inSmalltalk default of 10 may be wrong on some platforms. */
+	inSmalltalk default of 30 may be wrong on some platforms. */
 
 static sqInt
 sigUsr1Number(void)
@@ -4467,7 +4469,7 @@
 
 
 /*	User defined signal number 2. This is value is platform-dependent, so the
-	inSmalltalk default of 12 may be wrong on some platforms. */
+	inSmalltalk default of 32 may be wrong on some platforms. */
 
 static sqInt
 sigUsr2Number(void)

Modified: branches/Cog/nscogsrc/plugins/VMProfileMacSupportPlugin/VMProfileMacSupportPlugin.c
===================================================================
--- branches/Cog/nscogsrc/plugins/VMProfileMacSupportPlugin/VMProfileMacSupportPlugin.c	2012-12-12 02:04:46 UTC (rev 2631)
+++ branches/Cog/nscogsrc/plugins/VMProfileMacSupportPlugin/VMProfileMacSupportPlugin.c	2012-12-12 21:45:24 UTC (rev 2632)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	VMPluginCodeGenerator VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a
+	VMPluginCodeGenerator VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211
    from
-	VMProfileMacSupportPlugin VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a
+	VMProfileMacSupportPlugin VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211
  */
-static char __buildInfo[] = "VMProfileMacSupportPlugin VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a " __DATE__ ;
+static char __buildInfo[] = "VMProfileMacSupportPlugin VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211 " __DATE__ ;
 
 
 
@@ -111,9 +111,9 @@
 struct VirtualMachine* interpreterProxy;
 static const char *moduleName =
 #ifdef SQUEAK_BUILTIN_PLUGIN
-	"VMProfileMacSupportPlugin VMMaker.oscog-eem.232 (i)"
+	"VMProfileMacSupportPlugin VMMaker.oscog-eem.233 (i)"
 #else
-	"VMProfileMacSupportPlugin VMMaker.oscog-eem.232 (e)"
+	"VMProfileMacSupportPlugin VMMaker.oscog-eem.233 (e)"
 #endif
 ;
 

Modified: branches/Cog/nscogsrc/plugins/Win32OSProcessPlugin/Win32OSProcessPlugin.c
===================================================================
--- branches/Cog/nscogsrc/plugins/Win32OSProcessPlugin/Win32OSProcessPlugin.c	2012-12-12 02:04:46 UTC (rev 2631)
+++ branches/Cog/nscogsrc/plugins/Win32OSProcessPlugin/Win32OSProcessPlugin.c	2012-12-12 21:45:24 UTC (rev 2632)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	VMPluginCodeGenerator VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a
+	VMPluginCodeGenerator VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211
    from
-	Win32OSProcessPlugin VMConstruction-Plugins-OSProcessPlugin.oscog-eem.37 uuid: 66e9d886-c656-4392-be32-84729d92e8b8
+	Win32OSProcessPlugin * VMConstruction-Plugins-OSProcessPlugin.oscog-eem.37 uuid: 66e9d886-c656-4392-be32-84729d92e8b8
  */
-static char __buildInfo[] = "Win32OSProcessPlugin VMConstruction-Plugins-OSProcessPlugin.oscog-eem.37 uuid: 66e9d886-c656-4392-be32-84729d92e8b8 " __DATE__ ;
+static char __buildInfo[] = "Win32OSProcessPlugin * VMConstruction-Plugins-OSProcessPlugin.oscog-eem.37 uuid: 66e9d886-c656-4392-be32-84729d92e8b8 " __DATE__ ;
 
 
 
@@ -228,9 +228,9 @@
 struct VirtualMachine* interpreterProxy;
 static const char *moduleName =
 #ifdef SQUEAK_BUILTIN_PLUGIN
-	"Win32OSProcessPlugin VMConstruction-Plugins-OSProcessPlugin.oscog-eem.37 (i)"
+	"Win32OSProcessPlugin * VMConstruction-Plugins-OSProcessPlugin.oscog-eem.37 (i)"
 #else
-	"Win32OSProcessPlugin VMConstruction-Plugins-OSProcessPlugin.oscog-eem.37 (e)"
+	"Win32OSProcessPlugin * VMConstruction-Plugins-OSProcessPlugin.oscog-eem.37 (e)"
 #endif
 ;
 static int osprocessSandboxSecurity;

Modified: branches/Cog/nscogsrc/plugins/ZipPlugin/ZipPlugin.c
===================================================================
--- branches/Cog/nscogsrc/plugins/ZipPlugin/ZipPlugin.c	2012-12-12 02:04:46 UTC (rev 2631)
+++ branches/Cog/nscogsrc/plugins/ZipPlugin/ZipPlugin.c	2012-12-12 21:45:24 UTC (rev 2632)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	VMPluginCodeGenerator VMMaker.oscog-eem.232 uuid: 9ecffa1b-c204-4dbd-b148-79e209e6470a
+	VMPluginCodeGenerator VMMaker.oscog-eem.233 uuid: 8720e836-68d5-48bd-a664-5d39a9e2e211
    from

@@ Diff output truncated at 50000 characters. @@


More information about the Vm-dev mailing list