[Vm-dev] [commit][3177] CogVM source as per VMMaker.oscog-eem.981

commits at squeakvm.org commits at squeakvm.org
Fri Dec 12 19:56:33 UTC 2014


Revision: 3177
Author:   eliot
Date:     2014-12-12 11:56:33 -0800 (Fri, 12 Dec 2014)
Log Message:
-----------
CogVM source as per VMMaker.oscog-eem.981

CHanges for 64-bit compilation.

Eliminating warnings in B2DPlugin and the VMProfileLinuxSupportPlugin.

Handle not in nilOrBooleanConstantReceiverOf:.  Hence don't do the 32-bit swap
in a 32-bit words object in 64-bit Spur.  May have to do it in a 64-bit word
obj in 64-bit Spur, but it can wait.

Generate the right casts for left shift beyond the int range.  Generate the
right error code for negative arguments to primitiveSizeInBytesOfInstance

Correctly translate constant arithmetic expressions that overflow the int range.

The criterion for promoting a shifted constant to long was wrong.  It needs to
compare against sizeof(int) (the default type) not sizeof(long).

Modified Paths:
--------------
    branches/Cog/build.linux64x64/newspeak.cog.spur/build/plugins.ext
    branches/Cog/build.linux64x64/newspeak.cog.spur/build.assert/plugins.ext
    branches/Cog/build.linux64x64/newspeak.cog.spur/build.assert.itimerheartbeat/plugins.ext
    branches/Cog/build.linux64x64/newspeak.cog.spur/build.debug/plugins.ext
    branches/Cog/build.linux64x64/newspeak.cog.spur/build.debug.itimerheartbeat/plugins.ext
    branches/Cog/build.linux64x64/newspeak.cog.spur/build.itimerheartbeat/plugins.ext
    branches/Cog/build.linux64x64/newspeak.sista.spur/build/plugins.ext
    branches/Cog/build.linux64x64/newspeak.sista.spur/build.assert/plugins.ext
    branches/Cog/build.linux64x64/newspeak.sista.spur/build.assert.itimerheartbeat/plugins.ext
    branches/Cog/build.linux64x64/newspeak.sista.spur/build.debug/plugins.ext
    branches/Cog/build.linux64x64/newspeak.sista.spur/build.debug.itimerheartbeat/plugins.ext
    branches/Cog/build.linux64x64/newspeak.sista.spur/build.itimerheartbeat/plugins.ext
    branches/Cog/build.linux64x64/newspeak.stack.spur/build/plugins.ext
    branches/Cog/build.linux64x64/newspeak.stack.spur/build.assert/plugins.ext
    branches/Cog/build.linux64x64/newspeak.stack.spur/build.debug/plugins.ext
    branches/Cog/build.linux64x64/squeak.cog.spur/build/plugins.ext
    branches/Cog/build.linux64x64/squeak.cog.spur/build.assert/plugins.ext
    branches/Cog/build.linux64x64/squeak.cog.spur/build.assert.itimerheartbeat/plugins.ext
    branches/Cog/build.linux64x64/squeak.cog.spur/build.debug/plugins.ext
    branches/Cog/build.linux64x64/squeak.cog.spur/build.debug.itimerheartbeat/plugins.ext
    branches/Cog/build.linux64x64/squeak.cog.spur/build.itimerheartbeat/plugins.ext
    branches/Cog/build.linux64x64/squeak.stack.spur/build/plugins.ext
    branches/Cog/build.linux64x64/squeak.stack.spur/build.assert/plugins.ext
    branches/Cog/build.linux64x64/squeak.stack.spur/build.debug/plugins.ext
    branches/Cog/build.linux64x64/squeak.stack.spur/build.debug/plugins.int
    branches/Cog/nscogsrc/vm/cointerp.c
    branches/Cog/nscogsrc/vm/cointerp.h
    branches/Cog/nscogsrc/vm/gcc3x-cointerp.c
    branches/Cog/nsspursrc/vm/cointerp.c
    branches/Cog/nsspursrc/vm/cointerp.h
    branches/Cog/nsspursrc/vm/gcc3x-cointerp.c
    branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c
    branches/Cog/nsspurstacksrc/vm/interp.c
    branches/Cog/platforms/Cross/vm/sqHeapMap.c
    branches/Cog/platforms/unix/plugins/SqueakSSL/sqUnixOpenSSL.c
    branches/Cog/platforms/unix/vm/SqDisplay.h
    branches/Cog/platforms/unix/vm/debug.c
    branches/Cog/platforms/unix/vm-display-X11/sqUnixX11.c
    branches/Cog/platforms/unix/vm-display-custom/sqUnixCustomWindow.c
    branches/Cog/platforms/unix/vm-display-fbdev/sqUnixFBDev.c
    branches/Cog/platforms/unix/vm-display-null/sqUnixDisplayNull.c
    branches/Cog/sistasrc/vm/cointerp.c
    branches/Cog/sistasrc/vm/cointerp.h
    branches/Cog/sistasrc/vm/gcc3x-cointerp.c
    branches/Cog/spursistasrc/vm/cointerp.c
    branches/Cog/spursistasrc/vm/cointerp.h
    branches/Cog/spursistasrc/vm/gcc3x-cointerp.c
    branches/Cog/spursrc/vm/cointerp.c
    branches/Cog/spursrc/vm/cointerp.h
    branches/Cog/spursrc/vm/gcc3x-cointerp.c
    branches/Cog/spurstack64src/vm/gcc3x-interp.c
    branches/Cog/spurstack64src/vm/interp.c
    branches/Cog/spurstacksrc/vm/gcc3x-interp.c
    branches/Cog/spurstacksrc/vm/interp.c
    branches/Cog/src/plugins/ADPCMCodecPlugin/ADPCMCodecPlugin.c
    branches/Cog/src/plugins/B2DPlugin/B2DPlugin.c
    branches/Cog/src/plugins/SoundGenerationPlugin/SoundGenerationPlugin.c
    branches/Cog/src/plugins/VMProfileLinuxSupportPlugin/VMProfileLinuxSupportPlugin.c
    branches/Cog/src/vm/cointerp.c
    branches/Cog/src/vm/cointerp.h
    branches/Cog/src/vm/cointerpmt.c
    branches/Cog/src/vm/cointerpmt.h
    branches/Cog/src/vm/gcc3x-cointerp.c
    branches/Cog/src/vm/gcc3x-cointerpmt.c
    branches/Cog/stacksrc/vm/gcc3x-interp.c
    branches/Cog/stacksrc/vm/interp.c

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

Modified: branches/Cog/build.linux64x64/newspeak.cog.spur/build/plugins.ext
===================================================================
--- branches/Cog/build.linux64x64/newspeak.cog.spur/build/plugins.ext	2014-12-12 19:53:24 UTC (rev 3176)
+++ branches/Cog/build.linux64x64/newspeak.cog.spur/build/plugins.ext	2014-12-12 19:56:33 UTC (rev 3177)
@@ -1,3 +1,10 @@
-# Copied, perhaps edited, from ../../../nscogsrc/examplePlugins.ext
-EXTERNAL_PLUGINS = \
-SqueakSSL
+# Copied, perhaps edited, from ../../src/examplePlugins.ext
+# SqueakFFIPrims needs implementing
+EXTERNAL_PLUGINS = \
+B3DAcceleratorPlugin \
+SqueakSSL \
+LocalePlugin \
+UnicodePlugin \
+UnixOSProcessPlugin \
+UUIDPlugin \
+XDisplayControlPlugin

Modified: branches/Cog/build.linux64x64/newspeak.cog.spur/build.assert/plugins.ext
===================================================================
--- branches/Cog/build.linux64x64/newspeak.cog.spur/build.assert/plugins.ext	2014-12-12 19:53:24 UTC (rev 3176)
+++ branches/Cog/build.linux64x64/newspeak.cog.spur/build.assert/plugins.ext	2014-12-12 19:56:33 UTC (rev 3177)
@@ -1,3 +1,10 @@
-# Copied, perhaps edited, from ../../../nscogsrc/examplePlugins.ext
-EXTERNAL_PLUGINS = \
-SqueakSSL
+# Copied, perhaps edited, from ../../src/examplePlugins.ext
+# SqueakFFIPrims needs implementing
+EXTERNAL_PLUGINS = \
+B3DAcceleratorPlugin \
+SqueakSSL \
+LocalePlugin \
+UnicodePlugin \
+UnixOSProcessPlugin \
+UUIDPlugin \
+XDisplayControlPlugin

Modified: branches/Cog/build.linux64x64/newspeak.cog.spur/build.assert.itimerheartbeat/plugins.ext
===================================================================
--- branches/Cog/build.linux64x64/newspeak.cog.spur/build.assert.itimerheartbeat/plugins.ext	2014-12-12 19:53:24 UTC (rev 3176)
+++ branches/Cog/build.linux64x64/newspeak.cog.spur/build.assert.itimerheartbeat/plugins.ext	2014-12-12 19:56:33 UTC (rev 3177)
@@ -1,3 +1,10 @@
-# Copied, perhaps edited, from ../../../nscogsrc/examplePlugins.ext
-EXTERNAL_PLUGINS = \
-SqueakSSL
+# Copied, perhaps edited, from ../../src/examplePlugins.ext
+# SqueakFFIPrims needs implementing
+EXTERNAL_PLUGINS = \
+B3DAcceleratorPlugin \
+SqueakSSL \
+LocalePlugin \
+UnicodePlugin \
+UnixOSProcessPlugin \
+UUIDPlugin \
+XDisplayControlPlugin

Modified: branches/Cog/build.linux64x64/newspeak.cog.spur/build.debug/plugins.ext
===================================================================
--- branches/Cog/build.linux64x64/newspeak.cog.spur/build.debug/plugins.ext	2014-12-12 19:53:24 UTC (rev 3176)
+++ branches/Cog/build.linux64x64/newspeak.cog.spur/build.debug/plugins.ext	2014-12-12 19:56:33 UTC (rev 3177)
@@ -1,3 +1,10 @@
-# Copied, perhaps edited, from ../../../nscogsrc/examplePlugins.ext
-EXTERNAL_PLUGINS = \
-SqueakSSL
+# Copied, perhaps edited, from ../../src/examplePlugins.ext
+# SqueakFFIPrims needs implementing
+EXTERNAL_PLUGINS = \
+B3DAcceleratorPlugin \
+SqueakSSL \
+LocalePlugin \
+UnicodePlugin \
+UnixOSProcessPlugin \
+UUIDPlugin \
+XDisplayControlPlugin

Modified: branches/Cog/build.linux64x64/newspeak.cog.spur/build.debug.itimerheartbeat/plugins.ext
===================================================================
--- branches/Cog/build.linux64x64/newspeak.cog.spur/build.debug.itimerheartbeat/plugins.ext	2014-12-12 19:53:24 UTC (rev 3176)
+++ branches/Cog/build.linux64x64/newspeak.cog.spur/build.debug.itimerheartbeat/plugins.ext	2014-12-12 19:56:33 UTC (rev 3177)
@@ -1,3 +1,10 @@
-# Copied, perhaps edited, from ../../../nscogsrc/examplePlugins.ext
-EXTERNAL_PLUGINS = \
-SqueakSSL
+# Copied, perhaps edited, from ../../src/examplePlugins.ext
+# SqueakFFIPrims needs implementing
+EXTERNAL_PLUGINS = \
+B3DAcceleratorPlugin \
+SqueakSSL \
+LocalePlugin \
+UnicodePlugin \
+UnixOSProcessPlugin \
+UUIDPlugin \
+XDisplayControlPlugin

Modified: branches/Cog/build.linux64x64/newspeak.cog.spur/build.itimerheartbeat/plugins.ext
===================================================================
--- branches/Cog/build.linux64x64/newspeak.cog.spur/build.itimerheartbeat/plugins.ext	2014-12-12 19:53:24 UTC (rev 3176)
+++ branches/Cog/build.linux64x64/newspeak.cog.spur/build.itimerheartbeat/plugins.ext	2014-12-12 19:56:33 UTC (rev 3177)
@@ -1,3 +1,10 @@
-# Copied, perhaps edited, from ../../../nscogsrc/examplePlugins.ext
-EXTERNAL_PLUGINS = \
-SqueakSSL
+# Copied, perhaps edited, from ../../src/examplePlugins.ext
+# SqueakFFIPrims needs implementing
+EXTERNAL_PLUGINS = \
+B3DAcceleratorPlugin \
+SqueakSSL \
+LocalePlugin \
+UnicodePlugin \
+UnixOSProcessPlugin \
+UUIDPlugin \
+XDisplayControlPlugin

Modified: branches/Cog/build.linux64x64/newspeak.sista.spur/build/plugins.ext
===================================================================
--- branches/Cog/build.linux64x64/newspeak.sista.spur/build/plugins.ext	2014-12-12 19:53:24 UTC (rev 3176)
+++ branches/Cog/build.linux64x64/newspeak.sista.spur/build/plugins.ext	2014-12-12 19:56:33 UTC (rev 3177)
@@ -1,3 +1,10 @@
-# Copied, perhaps edited, from ../../../nscogsrc/examplePlugins.ext
-EXTERNAL_PLUGINS = \
-SqueakSSL
+# Copied, perhaps edited, from ../../src/examplePlugins.ext
+# SqueakFFIPrims needs implementing
+EXTERNAL_PLUGINS = \
+B3DAcceleratorPlugin \
+SqueakSSL \
+LocalePlugin \
+UnicodePlugin \
+UnixOSProcessPlugin \
+UUIDPlugin \
+XDisplayControlPlugin

Modified: branches/Cog/build.linux64x64/newspeak.sista.spur/build.assert/plugins.ext
===================================================================
--- branches/Cog/build.linux64x64/newspeak.sista.spur/build.assert/plugins.ext	2014-12-12 19:53:24 UTC (rev 3176)
+++ branches/Cog/build.linux64x64/newspeak.sista.spur/build.assert/plugins.ext	2014-12-12 19:56:33 UTC (rev 3177)
@@ -1,3 +1,10 @@
-# Copied, perhaps edited, from ../../../nscogsrc/examplePlugins.ext
-EXTERNAL_PLUGINS = \
-SqueakSSL
+# Copied, perhaps edited, from ../../src/examplePlugins.ext
+# SqueakFFIPrims needs implementing
+EXTERNAL_PLUGINS = \
+B3DAcceleratorPlugin \
+SqueakSSL \
+LocalePlugin \
+UnicodePlugin \
+UnixOSProcessPlugin \
+UUIDPlugin \
+XDisplayControlPlugin

Modified: branches/Cog/build.linux64x64/newspeak.sista.spur/build.assert.itimerheartbeat/plugins.ext
===================================================================
--- branches/Cog/build.linux64x64/newspeak.sista.spur/build.assert.itimerheartbeat/plugins.ext	2014-12-12 19:53:24 UTC (rev 3176)
+++ branches/Cog/build.linux64x64/newspeak.sista.spur/build.assert.itimerheartbeat/plugins.ext	2014-12-12 19:56:33 UTC (rev 3177)
@@ -1,3 +1,10 @@
-# Copied, perhaps edited, from ../../../nscogsrc/examplePlugins.ext
-EXTERNAL_PLUGINS = \
-SqueakSSL
+# Copied, perhaps edited, from ../../src/examplePlugins.ext
+# SqueakFFIPrims needs implementing
+EXTERNAL_PLUGINS = \
+B3DAcceleratorPlugin \
+SqueakSSL \
+LocalePlugin \
+UnicodePlugin \
+UnixOSProcessPlugin \
+UUIDPlugin \
+XDisplayControlPlugin

Modified: branches/Cog/build.linux64x64/newspeak.sista.spur/build.debug/plugins.ext
===================================================================
--- branches/Cog/build.linux64x64/newspeak.sista.spur/build.debug/plugins.ext	2014-12-12 19:53:24 UTC (rev 3176)
+++ branches/Cog/build.linux64x64/newspeak.sista.spur/build.debug/plugins.ext	2014-12-12 19:56:33 UTC (rev 3177)
@@ -1,3 +1,10 @@
-# Copied, perhaps edited, from ../../../nscogsrc/examplePlugins.ext
-EXTERNAL_PLUGINS = \
-SqueakSSL
+# Copied, perhaps edited, from ../../src/examplePlugins.ext
+# SqueakFFIPrims needs implementing
+EXTERNAL_PLUGINS = \
+B3DAcceleratorPlugin \
+SqueakSSL \
+LocalePlugin \
+UnicodePlugin \
+UnixOSProcessPlugin \
+UUIDPlugin \
+XDisplayControlPlugin

Modified: branches/Cog/build.linux64x64/newspeak.sista.spur/build.debug.itimerheartbeat/plugins.ext
===================================================================
--- branches/Cog/build.linux64x64/newspeak.sista.spur/build.debug.itimerheartbeat/plugins.ext	2014-12-12 19:53:24 UTC (rev 3176)
+++ branches/Cog/build.linux64x64/newspeak.sista.spur/build.debug.itimerheartbeat/plugins.ext	2014-12-12 19:56:33 UTC (rev 3177)
@@ -1,3 +1,10 @@
-# Copied, perhaps edited, from ../../../nscogsrc/examplePlugins.ext
-EXTERNAL_PLUGINS = \
-SqueakSSL
+# Copied, perhaps edited, from ../../src/examplePlugins.ext
+# SqueakFFIPrims needs implementing
+EXTERNAL_PLUGINS = \
+B3DAcceleratorPlugin \
+SqueakSSL \
+LocalePlugin \
+UnicodePlugin \
+UnixOSProcessPlugin \
+UUIDPlugin \
+XDisplayControlPlugin

Modified: branches/Cog/build.linux64x64/newspeak.sista.spur/build.itimerheartbeat/plugins.ext
===================================================================
--- branches/Cog/build.linux64x64/newspeak.sista.spur/build.itimerheartbeat/plugins.ext	2014-12-12 19:53:24 UTC (rev 3176)
+++ branches/Cog/build.linux64x64/newspeak.sista.spur/build.itimerheartbeat/plugins.ext	2014-12-12 19:56:33 UTC (rev 3177)
@@ -1,3 +1,10 @@
-# Copied, perhaps edited, from ../../../nscogsrc/examplePlugins.ext
-EXTERNAL_PLUGINS = \
-SqueakSSL
+# Copied, perhaps edited, from ../../src/examplePlugins.ext
+# SqueakFFIPrims needs implementing
+EXTERNAL_PLUGINS = \
+B3DAcceleratorPlugin \
+SqueakSSL \
+LocalePlugin \
+UnicodePlugin \
+UnixOSProcessPlugin \
+UUIDPlugin \
+XDisplayControlPlugin

Modified: branches/Cog/build.linux64x64/newspeak.stack.spur/build/plugins.ext
===================================================================
--- branches/Cog/build.linux64x64/newspeak.stack.spur/build/plugins.ext	2014-12-12 19:53:24 UTC (rev 3176)
+++ branches/Cog/build.linux64x64/newspeak.stack.spur/build/plugins.ext	2014-12-12 19:56:33 UTC (rev 3177)
@@ -1,3 +1,10 @@
-# Copied, perhaps edited, from ../../../nscogsrc/examplePlugins.ext
-EXTERNAL_PLUGINS = \
-SqueakSSL
+# Copied, perhaps edited, from ../../src/examplePlugins.ext
+# SqueakFFIPrims needs implementing
+EXTERNAL_PLUGINS = \
+B3DAcceleratorPlugin \
+SqueakSSL \
+LocalePlugin \
+UnicodePlugin \
+UnixOSProcessPlugin \
+UUIDPlugin \
+XDisplayControlPlugin

Modified: branches/Cog/build.linux64x64/newspeak.stack.spur/build.assert/plugins.ext
===================================================================
--- branches/Cog/build.linux64x64/newspeak.stack.spur/build.assert/plugins.ext	2014-12-12 19:53:24 UTC (rev 3176)
+++ branches/Cog/build.linux64x64/newspeak.stack.spur/build.assert/plugins.ext	2014-12-12 19:56:33 UTC (rev 3177)
@@ -1,3 +1,10 @@
-# Copied, perhaps edited, from ../../../nscogsrc/examplePlugins.ext
-EXTERNAL_PLUGINS = \
-SqueakSSL
+# Copied, perhaps edited, from ../../src/examplePlugins.ext
+# SqueakFFIPrims needs implementing
+EXTERNAL_PLUGINS = \
+B3DAcceleratorPlugin \
+SqueakSSL \
+LocalePlugin \
+UnicodePlugin \
+UnixOSProcessPlugin \
+UUIDPlugin \
+XDisplayControlPlugin

Modified: branches/Cog/build.linux64x64/newspeak.stack.spur/build.debug/plugins.ext
===================================================================
--- branches/Cog/build.linux64x64/newspeak.stack.spur/build.debug/plugins.ext	2014-12-12 19:53:24 UTC (rev 3176)
+++ branches/Cog/build.linux64x64/newspeak.stack.spur/build.debug/plugins.ext	2014-12-12 19:56:33 UTC (rev 3177)
@@ -1,3 +1,10 @@
-# Copied, perhaps edited, from ../../../nscogsrc/examplePlugins.ext
-EXTERNAL_PLUGINS = \
-SqueakSSL
+# Copied, perhaps edited, from ../../src/examplePlugins.ext
+# SqueakFFIPrims needs implementing
+EXTERNAL_PLUGINS = \
+B3DAcceleratorPlugin \
+SqueakSSL \
+LocalePlugin \
+UnicodePlugin \
+UnixOSProcessPlugin \
+UUIDPlugin \
+XDisplayControlPlugin

Modified: branches/Cog/build.linux64x64/squeak.cog.spur/build/plugins.ext
===================================================================
--- branches/Cog/build.linux64x64/squeak.cog.spur/build/plugins.ext	2014-12-12 19:53:24 UTC (rev 3176)
+++ branches/Cog/build.linux64x64/squeak.cog.spur/build/plugins.ext	2014-12-12 19:56:33 UTC (rev 3177)
@@ -1,8 +1,7 @@
 # Copied, perhaps edited, from ../../src/examplePlugins.ext
+# SqueakFFIPrims needs implementing
 EXTERNAL_PLUGINS = \
 B3DAcceleratorPlugin \
-BochsIA32Plugin \
-SqueakFFIPrims \
 SqueakSSL \
 LocalePlugin \
 UnicodePlugin \

Modified: branches/Cog/build.linux64x64/squeak.cog.spur/build.assert/plugins.ext
===================================================================
--- branches/Cog/build.linux64x64/squeak.cog.spur/build.assert/plugins.ext	2014-12-12 19:53:24 UTC (rev 3176)
+++ branches/Cog/build.linux64x64/squeak.cog.spur/build.assert/plugins.ext	2014-12-12 19:56:33 UTC (rev 3177)
@@ -1,8 +1,7 @@
 # Copied, perhaps edited, from ../../src/examplePlugins.ext
+# SqueakFFIPrims needs implementing
 EXTERNAL_PLUGINS = \
 B3DAcceleratorPlugin \
-BochsIA32Plugin \
-SqueakFFIPrims \
 SqueakSSL \
 LocalePlugin \
 UnicodePlugin \

Modified: branches/Cog/build.linux64x64/squeak.cog.spur/build.assert.itimerheartbeat/plugins.ext
===================================================================
--- branches/Cog/build.linux64x64/squeak.cog.spur/build.assert.itimerheartbeat/plugins.ext	2014-12-12 19:53:24 UTC (rev 3176)
+++ branches/Cog/build.linux64x64/squeak.cog.spur/build.assert.itimerheartbeat/plugins.ext	2014-12-12 19:56:33 UTC (rev 3177)
@@ -1,8 +1,7 @@
 # Copied, perhaps edited, from ../../src/examplePlugins.ext
+# SqueakFFIPrims needs implementing
 EXTERNAL_PLUGINS = \
 B3DAcceleratorPlugin \
-BochsIA32Plugin \
-SqueakFFIPrims \
 SqueakSSL \
 LocalePlugin \
 UnicodePlugin \

Modified: branches/Cog/build.linux64x64/squeak.cog.spur/build.debug/plugins.ext
===================================================================
--- branches/Cog/build.linux64x64/squeak.cog.spur/build.debug/plugins.ext	2014-12-12 19:53:24 UTC (rev 3176)
+++ branches/Cog/build.linux64x64/squeak.cog.spur/build.debug/plugins.ext	2014-12-12 19:56:33 UTC (rev 3177)
@@ -1,8 +1,7 @@
 # Copied, perhaps edited, from ../../src/examplePlugins.ext
+# SqueakFFIPrims needs implementing
 EXTERNAL_PLUGINS = \
 B3DAcceleratorPlugin \
-BochsIA32Plugin \
-SqueakFFIPrims \
 SqueakSSL \
 LocalePlugin \
 UnicodePlugin \

Modified: branches/Cog/build.linux64x64/squeak.cog.spur/build.debug.itimerheartbeat/plugins.ext
===================================================================
--- branches/Cog/build.linux64x64/squeak.cog.spur/build.debug.itimerheartbeat/plugins.ext	2014-12-12 19:53:24 UTC (rev 3176)
+++ branches/Cog/build.linux64x64/squeak.cog.spur/build.debug.itimerheartbeat/plugins.ext	2014-12-12 19:56:33 UTC (rev 3177)
@@ -1,8 +1,7 @@
 # Copied, perhaps edited, from ../../src/examplePlugins.ext
+# SqueakFFIPrims needs implementing
 EXTERNAL_PLUGINS = \
 B3DAcceleratorPlugin \
-BochsIA32Plugin \
-SqueakFFIPrims \
 SqueakSSL \
 LocalePlugin \
 UnicodePlugin \

Modified: branches/Cog/build.linux64x64/squeak.cog.spur/build.itimerheartbeat/plugins.ext
===================================================================
--- branches/Cog/build.linux64x64/squeak.cog.spur/build.itimerheartbeat/plugins.ext	2014-12-12 19:53:24 UTC (rev 3176)
+++ branches/Cog/build.linux64x64/squeak.cog.spur/build.itimerheartbeat/plugins.ext	2014-12-12 19:56:33 UTC (rev 3177)
@@ -1,8 +1,7 @@
 # Copied, perhaps edited, from ../../src/examplePlugins.ext
+# SqueakFFIPrims needs implementing
 EXTERNAL_PLUGINS = \
 B3DAcceleratorPlugin \
-BochsIA32Plugin \
-SqueakFFIPrims \
 SqueakSSL \
 LocalePlugin \
 UnicodePlugin \

Modified: branches/Cog/build.linux64x64/squeak.stack.spur/build/plugins.ext
===================================================================
--- branches/Cog/build.linux64x64/squeak.stack.spur/build/plugins.ext	2014-12-12 19:53:24 UTC (rev 3176)
+++ branches/Cog/build.linux64x64/squeak.stack.spur/build/plugins.ext	2014-12-12 19:56:33 UTC (rev 3177)
@@ -1,7 +1,7 @@
 # Copied, perhaps edited, from ../../src/examplePlugins.ext
+# SqueakFFIPrims needs implementing
 EXTERNAL_PLUGINS = \
 B3DAcceleratorPlugin \
-SqueakFFIPrims \
 SqueakSSL \
 LocalePlugin \
 UnicodePlugin \

Modified: branches/Cog/build.linux64x64/squeak.stack.spur/build.assert/plugins.ext
===================================================================
--- branches/Cog/build.linux64x64/squeak.stack.spur/build.assert/plugins.ext	2014-12-12 19:53:24 UTC (rev 3176)
+++ branches/Cog/build.linux64x64/squeak.stack.spur/build.assert/plugins.ext	2014-12-12 19:56:33 UTC (rev 3177)
@@ -1,7 +1,7 @@
 # Copied, perhaps edited, from ../../src/examplePlugins.ext
+# SqueakFFIPrims needs implementing
 EXTERNAL_PLUGINS = \
 B3DAcceleratorPlugin \
-SqueakFFIPrims \
 SqueakSSL \
 LocalePlugin \
 UnicodePlugin \

Modified: branches/Cog/build.linux64x64/squeak.stack.spur/build.debug/plugins.ext
===================================================================
--- branches/Cog/build.linux64x64/squeak.stack.spur/build.debug/plugins.ext	2014-12-12 19:53:24 UTC (rev 3176)
+++ branches/Cog/build.linux64x64/squeak.stack.spur/build.debug/plugins.ext	2014-12-12 19:56:33 UTC (rev 3177)
@@ -1,7 +1,7 @@
 # Copied, perhaps edited, from ../../src/examplePlugins.ext
+# SqueakFFIPrims needs implementing
 EXTERNAL_PLUGINS = \
 B3DAcceleratorPlugin \
-SqueakFFIPrims \
 SqueakSSL \
 LocalePlugin \
 UnicodePlugin \

Modified: branches/Cog/build.linux64x64/squeak.stack.spur/build.debug/plugins.int
===================================================================
--- branches/Cog/build.linux64x64/squeak.stack.spur/build.debug/plugins.int	2014-12-12 19:53:24 UTC (rev 3176)
+++ branches/Cog/build.linux64x64/squeak.stack.spur/build.debug/plugins.int	2014-12-12 19:56:33 UTC (rev 3177)
@@ -1,4 +1,5 @@
 # Copied, perhaps edited, from ../../src/examplePlugins.int
+# excluded temporarily: Mpeg3Plugin
 INTERNAL_PLUGINS = \
 ADPCMCodecPlugin \
 AioPlugin \
@@ -24,7 +25,6 @@
 Matrix2x3Plugin \
 MIDIPlugin \
 MiscPrimitivePlugin \
-Mpeg3Plugin \
 RePlugin \
 SecurityPlugin \
 SerialPlugin \

Modified: branches/Cog/nscogsrc/vm/cointerp.c
===================================================================
--- branches/Cog/nscogsrc/vm/cointerp.c	2014-12-12 19:53:24 UTC (rev 3176)
+++ branches/Cog/nscogsrc/vm/cointerp.c	2014-12-12 19:56:33 UTC (rev 3177)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.973 uuid: 1c182b73-874c-48f7-a4f4-61255efdc565
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60
    from
-	CoInterpreter VMMaker.oscog-eem.973 uuid: 1c182b73-874c-48f7-a4f4-61255efdc565
+	CoInterpreter VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.973 uuid: 1c182b73-874c-48f7-a4f4-61255efdc565 " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2098,7 +2098,7 @@
 	/* 574 */ (void (*)(void))0,
 	/* 575 */ (void (*)(void))0,
  0 };
-const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.973";
+const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.980";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */;
 volatile int sendTrace;
 
@@ -35258,7 +35258,7 @@
 	}
 	else {
 		/* begin restoreHeadersAfterForwardBecome: */
-		fwdBlock2 = ((GIV(endOfMemory) + BaseHeaderSize) + 7) & (WordMask - 7);
+		fwdBlock2 = ((GIV(endOfMemory) + BaseHeaderSize) + 7) & (0xFFFFFFF8UL);
 		flag("Dan");
 
 		/* fwdBlockGet: did a pre-increment */
@@ -36809,7 +36809,7 @@
 	}
 	/* begin setSizeOfFree:to: */
 	longAtput(GIV(endOfMemory), (BaseHeaderSize & AllButTypeMask) | HeaderTypeFree);
-	GIV(fwdTableNext) = ((GIV(endOfMemory) + BaseHeaderSize) + 7) & (WordMask - 7);
+	GIV(fwdTableNext) = ((GIV(endOfMemory) + BaseHeaderSize) + 7) & (0xFFFFFFF8UL);
 	flag("Dan");
 
 	/* last forwarding table entry */
@@ -36834,7 +36834,7 @@
 	/* Note: Forward blocks must be quadword aligned. */
 
 	eom = GIV(freeStart) + BaseHeaderSize;
-	fwdFirst = ((eom + BaseHeaderSize) + 7) & (WordMask - 7);
+	fwdFirst = ((eom + BaseHeaderSize) + 7) & (0xFFFFFFF8UL);
 	flag("Dan");
 
 	/* last forwarding table entry */

Modified: branches/Cog/nscogsrc/vm/cointerp.h
===================================================================
--- branches/Cog/nscogsrc/vm/cointerp.h	2014-12-12 19:53:24 UTC (rev 3176)
+++ branches/Cog/nscogsrc/vm/cointerp.h	2014-12-12 19:56:33 UTC (rev 3177)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.973 uuid: 1c182b73-874c-48f7-a4f4-61255efdc565
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60
  */
 
 

Modified: branches/Cog/nscogsrc/vm/gcc3x-cointerp.c
===================================================================
--- branches/Cog/nscogsrc/vm/gcc3x-cointerp.c	2014-12-12 19:53:24 UTC (rev 3176)
+++ branches/Cog/nscogsrc/vm/gcc3x-cointerp.c	2014-12-12 19:56:33 UTC (rev 3177)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.973 uuid: 1c182b73-874c-48f7-a4f4-61255efdc565
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60
    from
-	CoInterpreter VMMaker.oscog-eem.973 uuid: 1c182b73-874c-48f7-a4f4-61255efdc565
+	CoInterpreter VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.973 uuid: 1c182b73-874c-48f7-a4f4-61255efdc565 " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2101,7 +2101,7 @@
 	/* 574 */ (void (*)(void))0,
 	/* 575 */ (void (*)(void))0,
  0 };
-const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.973";
+const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.980";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */;
 volatile int sendTrace;
 
@@ -35267,7 +35267,7 @@
 	}
 	else {
 		/* begin restoreHeadersAfterForwardBecome: */
-		fwdBlock2 = ((GIV(endOfMemory) + BaseHeaderSize) + 7) & (WordMask - 7);
+		fwdBlock2 = ((GIV(endOfMemory) + BaseHeaderSize) + 7) & (0xFFFFFFF8UL);
 		flag("Dan");
 
 		/* fwdBlockGet: did a pre-increment */
@@ -36818,7 +36818,7 @@
 	}
 	/* begin setSizeOfFree:to: */
 	longAtput(GIV(endOfMemory), (BaseHeaderSize & AllButTypeMask) | HeaderTypeFree);
-	GIV(fwdTableNext) = ((GIV(endOfMemory) + BaseHeaderSize) + 7) & (WordMask - 7);
+	GIV(fwdTableNext) = ((GIV(endOfMemory) + BaseHeaderSize) + 7) & (0xFFFFFFF8UL);
 	flag("Dan");
 
 	/* last forwarding table entry */
@@ -36843,7 +36843,7 @@
 	/* Note: Forward blocks must be quadword aligned. */
 
 	eom = GIV(freeStart) + BaseHeaderSize;
-	fwdFirst = ((eom + BaseHeaderSize) + 7) & (WordMask - 7);
+	fwdFirst = ((eom + BaseHeaderSize) + 7) & (0xFFFFFFF8UL);
 	flag("Dan");
 
 	/* last forwarding table entry */

Modified: branches/Cog/nsspursrc/vm/cointerp.c
===================================================================
--- branches/Cog/nsspursrc/vm/cointerp.c	2014-12-12 19:53:24 UTC (rev 3176)
+++ branches/Cog/nsspursrc/vm/cointerp.c	2014-12-12 19:56:33 UTC (rev 3177)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.973 uuid: 1c182b73-874c-48f7-a4f4-61255efdc565
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60
    from
-	CoInterpreter VMMaker.oscog-eem.973 uuid: 1c182b73-874c-48f7-a4f4-61255efdc565
+	CoInterpreter VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.973 uuid: 1c182b73-874c-48f7-a4f4-61255efdc565 " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2348,7 +2348,7 @@
 /*540*/	-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
 /*560*/	-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0,-1,-1
 	};
-const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.973";
+const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.980";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */;
 volatile int sendTrace;
 
@@ -8852,7 +8852,7 @@
 			/* bytecodePrimBitShift */
 			{
 				sqInt integerArgument;
-				usqInt integerReceiver;
+				sqLong integerReceiver;
 				sqInt shifted;
 				char *sp;
 
@@ -8912,7 +8912,7 @@
 							null;
 							goto l76;
 						}
-						shifted = ((usqInt) integerReceiver) >> (0 - integerArgument);
+						shifted = ((unsigned sqLong)integerReceiver) >> (0 - integerArgument);
 					}
 					shifted = positive32BitIntegerFor(shifted);
 					/* begin pop:thenPush: */
@@ -11600,7 +11600,7 @@
 			/* bytecodePrimBitShift */
 			{
 				sqInt integerArgument;
-				usqInt integerReceiver;
+				sqLong integerReceiver;
 				sqInt shifted;
 				char *sp;
 
@@ -11660,7 +11660,7 @@
 							null;
 							goto l183;
 						}
-						shifted = ((usqInt) integerReceiver) >> (0 - integerArgument);
+						shifted = ((unsigned sqLong)integerReceiver) >> (0 - integerArgument);
 					}
 					shifted = positive32BitIntegerFor(shifted);
 					/* begin pop:thenPush: */
@@ -29418,7 +29418,7 @@
 primitiveBitShift(void)
 {   DECL_MAYBE_SQ_GLOBAL_STRUCT
     sqInt integerArgument;
-    usqInt integerReceiver;
+    sqLong integerReceiver;
     sqInt shifted;
     char *sp;
 
@@ -29465,7 +29465,7 @@
 				}
 				return;
 			}
-			shifted = ((usqInt) integerReceiver) >> (0 - integerArgument);
+			shifted = ((unsigned sqLong)integerReceiver) >> (0 - integerArgument);
 		}
 		shifted = positive32BitIntegerFor(shifted);
 		/* begin pop:thenPush: */
@@ -37921,8 +37921,11 @@
 			goto l1;
 
 		}
-		if (numSlots >= (1 << ((BytesPerOop * 8) - 2))) {
-			byteSize = (err = PrimErrLimitExceeded);
+		if (numSlots >= ((((long)1)) << ((BytesPerOop * 8) - 2))) {
+			code = ((((longAt(GIV(stackPointer))) >> 1)) < 0
+				? PrimErrBadArgument
+				: PrimErrLimitExceeded);
+			byteSize = (err = code);
 
 			goto l1;
 		}
@@ -45619,7 +45622,7 @@
 		print(" has mis-matched format/classIndex fields; only one of them is the isForwarded value");
 		return 0;
 	}
-	unusedBits = (1 << 22) || (1 << (22 + 32));
+	unusedBits = (1 << 22) || (1LL << (22 + 32));
 	if (((long64At(oop)) & unusedBits) != 0) {
 		print("oop ");
 		printHex(oop);
@@ -58851,7 +58854,7 @@
 		error("oop has mis-matched format/classIndex fields; only one of them is the isForwarded value");
 		return 0;
 	}
-	unusedBits = (1 << 22) || (1 << (22 + 32));
+	unusedBits = (1 << 22) || (1LL << (22 + 32));
 	if (((long64At(oop)) & unusedBits) != 0) {
 		error("some unused header bits are set; should be zero");
 		return 0;

Modified: branches/Cog/nsspursrc/vm/cointerp.h
===================================================================
--- branches/Cog/nsspursrc/vm/cointerp.h	2014-12-12 19:53:24 UTC (rev 3176)
+++ branches/Cog/nsspursrc/vm/cointerp.h	2014-12-12 19:56:33 UTC (rev 3177)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.973 uuid: 1c182b73-874c-48f7-a4f4-61255efdc565
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60
  */
 
 

Modified: branches/Cog/nsspursrc/vm/gcc3x-cointerp.c
===================================================================
--- branches/Cog/nsspursrc/vm/gcc3x-cointerp.c	2014-12-12 19:53:24 UTC (rev 3176)
+++ branches/Cog/nsspursrc/vm/gcc3x-cointerp.c	2014-12-12 19:56:33 UTC (rev 3177)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.973 uuid: 1c182b73-874c-48f7-a4f4-61255efdc565
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60
    from
-	CoInterpreter VMMaker.oscog-eem.973 uuid: 1c182b73-874c-48f7-a4f4-61255efdc565
+	CoInterpreter VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60
  */
-static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.973 uuid: 1c182b73-874c-48f7-a4f4-61255efdc565 " __DATE__ ;
+static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2351,7 +2351,7 @@
 /*540*/	-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
 /*560*/	-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0,-1,-1
 	};
-const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.973";
+const char *interpreterVersion = "Newspeak Virtual Machine CoInterpreterPrimitives_VMMaker.oscog-eem.980";
 sqInt minBackwardJumpCountForCompile = MinBackwardJumpCountForCompile /* 40 */;
 volatile int sendTrace;
 
@@ -8861,7 +8861,7 @@
 			/* bytecodePrimBitShift */
 			{
 				sqInt integerArgument;
-				usqInt integerReceiver;
+				sqLong integerReceiver;
 				sqInt shifted;
 				char *sp;
 
@@ -8921,7 +8921,7 @@
 							null;
 							goto l76;
 						}
-						shifted = ((usqInt) integerReceiver) >> (0 - integerArgument);
+						shifted = ((unsigned sqLong)integerReceiver) >> (0 - integerArgument);
 					}
 					shifted = positive32BitIntegerFor(shifted);
 					/* begin pop:thenPush: */
@@ -11609,7 +11609,7 @@
 			/* bytecodePrimBitShift */
 			{
 				sqInt integerArgument;
-				usqInt integerReceiver;
+				sqLong integerReceiver;
 				sqInt shifted;
 				char *sp;
 
@@ -11669,7 +11669,7 @@
 							null;
 							goto l183;
 						}
-						shifted = ((usqInt) integerReceiver) >> (0 - integerArgument);
+						shifted = ((unsigned sqLong)integerReceiver) >> (0 - integerArgument);
 					}
 					shifted = positive32BitIntegerFor(shifted);
 					/* begin pop:thenPush: */
@@ -29427,7 +29427,7 @@
 primitiveBitShift(void)
 {   DECL_MAYBE_SQ_GLOBAL_STRUCT
     sqInt integerArgument;
-    usqInt integerReceiver;
+    sqLong integerReceiver;
     sqInt shifted;
     char *sp;
 
@@ -29474,7 +29474,7 @@
 				}
 				return;
 			}
-			shifted = ((usqInt) integerReceiver) >> (0 - integerArgument);
+			shifted = ((unsigned sqLong)integerReceiver) >> (0 - integerArgument);
 		}
 		shifted = positive32BitIntegerFor(shifted);
 		/* begin pop:thenPush: */
@@ -37930,8 +37930,11 @@
 			goto l1;
 
 		}
-		if (numSlots >= (1 << ((BytesPerOop * 8) - 2))) {
-			byteSize = (err = PrimErrLimitExceeded);
+		if (numSlots >= ((((long)1)) << ((BytesPerOop * 8) - 2))) {
+			code = ((((longAt(GIV(stackPointer))) >> 1)) < 0
+				? PrimErrBadArgument
+				: PrimErrLimitExceeded);
+			byteSize = (err = code);
 
 			goto l1;
 		}
@@ -45628,7 +45631,7 @@
 		print(" has mis-matched format/classIndex fields; only one of them is the isForwarded value");
 		return 0;
 	}
-	unusedBits = (1 << 22) || (1 << (22 + 32));
+	unusedBits = (1 << 22) || (1LL << (22 + 32));
 	if (((long64At(oop)) & unusedBits) != 0) {
 		print("oop ");
 		printHex(oop);
@@ -58860,7 +58863,7 @@
 		error("oop has mis-matched format/classIndex fields; only one of them is the isForwarded value");
 		return 0;
 	}
-	unusedBits = (1 << 22) || (1 << (22 + 32));
+	unusedBits = (1 << 22) || (1LL << (22 + 32));
 	if (((long64At(oop)) & unusedBits) != 0) {
 		error("some unused header bits are set; should be zero");
 		return 0;

Modified: branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c
===================================================================
--- branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c	2014-12-12 19:53:24 UTC (rev 3176)
+++ branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c	2014-12-12 19:56:33 UTC (rev 3177)
@@ -2,11 +2,11 @@
 
 
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.973 uuid: 1c182b73-874c-48f7-a4f4-61255efdc565
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60
    from
-	StackInterpreter VMMaker.oscog-eem.973 uuid: 1c182b73-874c-48f7-a4f4-61255efdc565
+	StackInterpreter VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60
  */
-static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.973 uuid: 1c182b73-874c-48f7-a4f4-61255efdc565 " __DATE__ ;
+static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2097,7 +2097,7 @@
 	/* 574 */ (void (*)(void))0,
 	/* 575 */ (void (*)(void))0,
  0 };
-const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreterPrimitives_VMMaker.oscog-eem.973";
+const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreterPrimitives_VMMaker.oscog-eem.980";
 volatile int sendTrace;
 sqInt suppressHeartbeatFlag;
 
@@ -23669,8 +23669,11 @@
 			goto l1;
 
 		}
-		if (numSlots >= (1 << ((BytesPerOop * 8) - 2))) {
-			byteSize = (err = PrimErrLimitExceeded);
+		if (numSlots >= ((((long)1)) << ((BytesPerOop * 8) - 2))) {
+			code = ((((longAt(GIV(stackPointer))) >> 1)) < 0
+				? PrimErrBadArgument
+				: PrimErrLimitExceeded);
+			byteSize = (err = code);
 
 			goto l1;
 		}
@@ -31628,7 +31631,7 @@
 		print(" has mis-matched format/classIndex fields; only one of them is the isForwarded value");
 		return 0;
 	}
-	unusedBits = (1 << 22) || (1 << (22 + 32));
+	unusedBits = (1 << 22) || (1LL << (22 + 32));
 	if (((long64At(oop)) & unusedBits) != 0) {
 		print("oop ");
 		printHex(oop);
@@ -44806,7 +44809,7 @@
 		error("oop has mis-matched format/classIndex fields; only one of them is the isForwarded value");
 		return 0;
 	}
-	unusedBits = (1 << 22) || (1 << (22 + 32));
+	unusedBits = (1 << 22) || (1LL << (22 + 32));
 	if (((long64At(oop)) & unusedBits) != 0) {
 		error("some unused header bits are set; should be zero");
 		return 0;

Modified: branches/Cog/nsspurstacksrc/vm/interp.c
===================================================================
--- branches/Cog/nsspurstacksrc/vm/interp.c	2014-12-12 19:53:24 UTC (rev 3176)
+++ branches/Cog/nsspurstacksrc/vm/interp.c	2014-12-12 19:56:33 UTC (rev 3177)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.973 uuid: 1c182b73-874c-48f7-a4f4-61255efdc565
+	CCodeGeneratorGlobalStructure VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60
    from
-	StackInterpreter VMMaker.oscog-eem.973 uuid: 1c182b73-874c-48f7-a4f4-61255efdc565
+	StackInterpreter VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60
  */
-static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.973 uuid: 1c182b73-874c-48f7-a4f4-61255efdc565 " __DATE__ ;
+static char __buildInfo[] = "StackInterpreter VMMaker.oscog-eem.980 uuid: 3d7d339f-6a22-4bd1-b959-cddf9c41cc60 " __DATE__ ;
 char *__interpBuildInfo = __buildInfo;
 
 
@@ -2094,7 +2094,7 @@
 	/* 574 */ (void (*)(void))0,
 	/* 575 */ (void (*)(void))0,
  0 };
-const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreterPrimitives_VMMaker.oscog-eem.973";
+const char *interpreterVersion = "Newspeak Virtual Machine StackInterpreterPrimitives_VMMaker.oscog-eem.980";
 volatile int sendTrace;
 sqInt suppressHeartbeatFlag;
 
@@ -23660,8 +23660,11 @@
 			goto l1;
 
 		}
-		if (numSlots >= (1 << ((BytesPerOop * 8) - 2))) {
-			byteSize = (err = PrimErrLimitExceeded);
+		if (numSlots >= ((((long)1)) << ((BytesPerOop * 8) - 2))) {
+			code = ((((longAt(GIV(stackPointer))) >> 1)) < 0
+				? PrimErrBadArgument
+				: PrimErrLimitExceeded);
+			byteSize = (err = code);
 
 			goto l1;
 		}
@@ -31619,7 +31622,7 @@
 		print(" has mis-matched format/classIndex fields; only one of them is the isForwarded value");
 		return 0;
 	}
-	unusedBits = (1 << 22) || (1 << (22 + 32));
+	unusedBits = (1 << 22) || (1LL << (22 + 32));
 	if (((long64At(oop)) & unusedBits) != 0) {
 		print("oop ");
 		printHex(oop);
@@ -44797,7 +44800,7 @@
 		error("oop has mis-matched format/classIndex fields; only one of them is the isForwarded value");
 		return 0;
 	}
-	unusedBits = (1 << 22) || (1 << (22 + 32));
+	unusedBits = (1 << 22) || (1LL << (22 + 32));
 	if (((long64At(oop)) & unusedBits) != 0) {
 		error("some unused header bits are set; should be zero");
 		return 0;

Modified: branches/Cog/platforms/Cross/vm/sqHeapMap.c
===================================================================
--- branches/Cog/platforms/Cross/vm/sqHeapMap.c	2014-12-12 19:53:24 UTC (rev 3176)
+++ branches/Cog/platforms/Cross/vm/sqHeapMap.c	2014-12-12 19:56:33 UTC (rev 3177)
@@ -22,6 +22,7 @@
 #include "sqMemoryAccess.h" 
 
 #include <stdlib.h>
+#include <string.h> /* for memset */
 
 #define ulong unsigned long
 #define uchar unsigned char


Property changes on: branches/Cog/platforms/Cross/vm/sqSCCSVersion.h
___________________________________________________________________
Modified: checkindate
   - Wed Dec 10 16:42:56 PST 2014
   + Fri Dec 12 11:54:26 PST 2014

Modified: branches/Cog/platforms/unix/plugins/SqueakSSL/sqUnixOpenSSL.c
===================================================================
--- branches/Cog/platforms/unix/plugins/SqueakSSL/sqUnixOpenSSL.c	2014-12-12 19:53:24 UTC (rev 3176)
+++ branches/Cog/platforms/unix/plugins/SqueakSSL/sqUnixOpenSSL.c	2014-12-12 19:56:33 UTC (rev 3177)
@@ -158,7 +158,7 @@
 	X509 *cert;
 	sqSSL *ssl = sslFromHandle(handle);
 
-	if(ssl->loglevel) printf("sqConnectSSL: %x\n", (int)ssl);
+	if(ssl->loglevel) printf("sqConnectSSL: %p\n", ssl);
 
 	/* Verify state of session */
 	if(ssl == NULL || (ssl->state != SQSSL_UNUSED && ssl->state != SQSSL_CONNECTING)) {
@@ -211,7 +211,7 @@
 
 	if(ssl->loglevel) printf("sqConnectSSL: SSL_get_peer_certificate\n");
 	cert = SSL_get_peer_certificate(ssl->ssl);
-	if(ssl->loglevel) printf("sqConnectSSL: cert = %x\n", (int)cert);
+	if(ssl->loglevel) printf("sqConnectSSL: cert = %p\n", cert);
 	/* Fail if no cert received. */
 	if(cert) {
 		X509_NAME_get_text_by_NID(X509_get_subject_name(cert), 
@@ -295,7 +295,7 @@
 
 	if(ssl->loglevel) printf("sqAcceptSSL: SSL_get_peer_certificate\n");
 	cert = SSL_get_peer_certificate(ssl->ssl);
-	if(ssl->loglevel) printf("sqAcceptSSL: cert = %x\n", (int)cert);
+	if(ssl->loglevel) printf("sqAcceptSSL: cert = %p\n", cert);
 
 	if(cert) {
 	  X509_NAME_get_text_by_NID(X509_get_subject_name(cert), 
@@ -432,7 +432,7 @@
 		propID - the property id to retrieve
 	Returns: The integer value of the property.
 */
-int sqGetIntPropertySSL(sqInt handle, int propID) {
+sqInt sqGetIntPropertySSL(sqInt handle, sqInt propID) {
 	sqSSL *ssl = sslFromHandle(handle);
 
 	if(ssl == NULL) return 0;

Modified: branches/Cog/platforms/unix/vm/SqDisplay.h
===================================================================
--- branches/Cog/platforms/unix/vm/SqDisplay.h	2014-12-12 19:53:24 UTC (rev 3176)
+++ branches/Cog/platforms/unix/vm/SqDisplay.h	2014-12-12 19:56:33 UTC (rev 3177)
@@ -7,7 +7,7 @@
 extern char **uxDropFileNames;
 
 #define SqDisplayVersionMajor	1
-#define SqDisplayVersionMinor	4
+#define SqDisplayVersionMinor	5
 #define SqDisplayVersion	((SqDisplayVersionMajor << 16) | (SqDisplayVersionMinor))
 
 #if (AVOID_OPENGL_H)
@@ -25,7 +25,7 @@
   void 	 (*winInit)(void);
   void 	 (*winOpen)(int argc, char *dropFiles[]);
   void 	 (*winSetName)(char *title);
-  int  	 (*winImageFind)(char *imageName, int size);
+  long   (*winImageFind)(char *imageName, int size);
   void 	 (*winImageNotFound)(void);
   void 	 (*winExit)(void);
   /* display primitives */
@@ -75,25 +75,25 @@
   sqInt  (*primitivePluginDestroyRequest)(void);
   sqInt  (*primitivePluginRequestState)(void);
   /* host window support */
-  int    (*hostWindowClose)(int index);
-  int    (*hostWindowCreate)(int w, int h, int x, int y, char * list, int attributeListLength);
-  int    (*hostWindowShowDisplay)(unsigned* dispBitsIndex, int width, int height, int depth, int affectedL, int affectedR, int affectedT, int affectedB, int windowIndex);
-  int    (*hostWindowGetSize)(int windowIndex);
-  int    (*hostWindowSetSize)(int windowIndex, int w, int h);
-  int    (*hostWindowGetPosition)(int windowIndex);
-  int    (*hostWindowSetPosition)(int windowIndex, int x, int y);
-  int    (*hostWindowSetTitle)(int windowIndex, char * newTitle, int sizeOfTitle);
-  int    (*hostWindowCloseAll)(void);
+  long    (*hostWindowClose)(long index);
+  long    (*hostWindowCreate)(long w, long h, long x, long y, char * list, long attributeListLength);
+  long    (*hostWindowShowDisplay)(unsigned* dispBitsIndex, long width, long height, long depth, long affectedL, long affectedR, long affectedT, long affectedB, long windowIndex);
+  long    (*hostWindowGetSize)(long windowIndex);
+  long    (*hostWindowSetSize)(long windowIndex, long w, long h);
+  long    (*hostWindowGetPosition)(long windowIndex);
+  long    (*hostWindowSetPosition)(long windowIndex, long x, long y);
+  long    (*hostWindowSetTitle)(long windowIndex, char * newTitle, long sizeOfTitle);
+  long    (*hostWindowCloseAll)(void);
 
-  int    (*ioPositionOfScreenWorkArea)(int windowIndex);
-  int    (*ioSizeOfScreenWorkArea)(int windowIndex);
-  sqInt  (*ioSetCursorPositionXY)(sqInt x, sqInt y);
+  long    (*ioPositionOfScreenWorkArea)(long windowIndex);
+  long    (*ioSizeOfScreenWorkArea)(long windowIndex);
+  long    (*ioSetCursorPositionXY)(long x, long y);
 
-  void  *(*ioGetWindowHandle)(void);
-  int    (*ioPositionOfNativeDisplay)(void *);
-  int    (*ioSizeOfNativeDisplay)(void *);
-  int    (*ioPositionOfNativeWindow)(void *);
-  int    (*ioSizeOfNativeWindow)(void *);
+  void   *(*ioGetWindowHandle)(void);
+  long    (*ioPositionOfNativeDisplay)(void *);
+  long    (*ioSizeOfNativeDisplay)(void *);
+  long    (*ioPositionOfNativeWindow)(void *);
+  long    (*ioSizeOfNativeWindow)(void *);
 };
 
 

Modified: branches/Cog/platforms/unix/vm/debug.c
===================================================================
--- branches/Cog/platforms/unix/vm/debug.c	2014-12-12 19:53:24 UTC (rev 3176)
+++ branches/Cog/platforms/unix/vm/debug.c	2014-12-12 19:56:33 UTC (rev 3177)
@@ -2,6 +2,7 @@
 
 #include <stdio.h>
 #include <stdarg.h>
+#include <stdlib.h>
 #include <string.h>
 
 void __sq_DPRINTF(const char *fmt, ...)

Modified: branches/Cog/platforms/unix/vm-display-X11/sqUnixX11.c
===================================================================
--- branches/Cog/platforms/unix/vm-display-X11/sqUnixX11.c	2014-12-12 19:53:24 UTC (rev 3176)
+++ branches/Cog/platforms/unix/vm-display-X11/sqUnixX11.c	2014-12-12 19:56:33 UTC (rev 3177)
@@ -7002,18 +7002,18 @@
 
 #if (SqDisplayVersionMajor >= 1 && SqDisplayVersionMinor >= 2)
 
-static int display_hostWindowCreate(int w, int h, int x, int y, char *list, int attributeListLength)
+static long display_hostWindowCreate(long w, long h, long x, long y, char *list, long attributeListLength)
 											    { return 0; }
-static int display_hostWindowClose(int index)                                               { return 0; }
-static int display_hostWindowCloseAll(void)                                                 { return 0; }
-static int display_hostWindowShowDisplay(unsigned *dispBitsIndex, int width, int height, int depth,
+static long display_hostWindowClose(long index)                                               { return 0; }
+static long display_hostWindowCloseAll(void)                                                 { return 0; }
+static long display_hostWindowShowDisplay(unsigned *dispBitsIndex, long width, long height, long depth,
 					 int affectedL, int affectedR, int affectedT, int affectedB, int windowIndex)
 											    { return 0; }
 
 #define isWindowHandle(winIdx) ((winIdx) >= 65536)
 
-static int display_ioSizeOfNativeWindow(void *windowHandle);
-static int display_hostWindowGetSize(int windowIndex)
+static long display_ioSizeOfNativeWindow(void *windowHandle);
+static long display_hostWindowGetSize(long windowIndex)
 {
 	return isWindowHandle(windowIndex)
 			? display_ioSizeOfNativeWindow((void *)windowIndex)
@@ -7023,7 +7023,7 @@
 /* ioSizeOfWindowSetxy: args are int windowIndex, int w & h for the
  * width / height to make the window. Return the actual size the OS
  * produced in (width<<16 | height) format or -1 for failure as above. */
-static int display_hostWindowSetSize(int windowIndex, int w, int h)
+static long display_hostWindowSetSize(long windowIndex, long w, long h)
 {
 	XWindowAttributes attrs;
 	int real_border_width;
@@ -7044,8 +7044,8 @@
 		: -1;
 }
 
-static int display_ioPositionOfNativeWindow(void *windowHandle);
-static int display_hostWindowGetPosition(int windowIndex)
+static long display_ioPositionOfNativeWindow(void *windowHandle);
+static long display_hostWindowGetPosition(long windowIndex)
 {
 	return isWindowHandle(windowIndex)
 			? display_ioPositionOfNativeWindow((void *)windowIndex)
@@ -7055,7 +7055,7 @@
 /* ioPositionOfWindowSetxy: args are int windowIndex, int x & y for the
  * origin x/y for the window. Return the actual origin the OS
  * produced in (left<<16 | top) format or -1 for failure, as above */
-static int display_hostWindowSetPosition(int windowIndex, int x, int y)
+static long display_hostWindowSetPosition(long windowIndex, long x, long y)
 {
 	if (!isWindowHandle(windowIndex))
 		return -1;
@@ -7065,7 +7065,7 @@
 }
 
 
-static int display_hostWindowSetTitle(int windowIndex, char *newTitle, int sizeOfTitle)
+static long display_hostWindowSetTitle(long windowIndex, char *newTitle, long sizeOfTitle)
 { 
   if (windowIndex != 1 && windowIndex != stParent && windowIndex != stWindow)
     return -1;
@@ -7081,10 +7081,7 @@
 #endif /* (SqDisplayVersionMajor >= 1 && SqDisplayVersionMinor >= 2) */
 
 
-static char *display_winSystemName(void)
-{
-  return "X11";
-}
+static char *display_winSystemName(void) { return "X11"; }
 
 
 static void display_winInit(void)
@@ -7139,7 +7136,7 @@
 }
 
 
-static int  display_winImageFind(char *buf, int len)	{ return 0; }
+static long  display_winImageFind(char *buf, long len)	{ return 0; }
 static void display_winImageNotFound(void)		{}
 
 #if SqDisplayVersionMajor >= 1 && SqDisplayVersionMinor >= 3
@@ -7149,8 +7146,8 @@
  * In the following functions "Display" refers to the user area of a window and
  * "Window" refers to the entire window including border & title bar.
  */
-static sqInt
-display_ioSetCursorPositionXY(sqInt x, sqInt y)
+static long
+display_ioSetCursorPositionXY(long x, long y)
 {
 	if (!XWarpPointer(stDisplay, None, DefaultRootWindow(stDisplay),
 					  0, 0, 0, 0, x, y))
@@ -7161,8 +7158,8 @@
 
 /* Return the pixel origin (topleft) of the platform-defined working area
    for the screen containing the given window. */
-static int
-display_ioPositionOfScreenWorkArea(int windowIndex)
+static long
+display_ioPositionOfScreenWorkArea(long windowIndex)
 {
 /* We simply hard-code this.  There's no obvious window-manager independent way
  * to discover this that doesn't involve creating a window.
@@ -7176,8 +7173,8 @@
 
 /* Return the pixel extent of the platform-defined working area
    for the screen containing the given window. */
-static int
-display_ioSizeOfScreenWorkArea(int windowIndex)
+static long
+display_ioSizeOfScreenWorkArea(long windowIndex)
 {
 	XWindowAttributes attrs;
 
@@ -7189,7 +7186,7 @@
 
 void *display_ioGetWindowHandle() { return (void *)stParent; }
 
-static int
+static long
 display_ioPositionOfNativeDisplay(void *windowHandle)
 {
 	XWindowAttributes attrs;
@@ -7205,7 +7202,7 @@
 	return (rootx << 16) | rooty;
 }
 
-static int
+static long
 display_ioSizeOfNativeDisplay(void *windowHandle)
 {
 	XWindowAttributes attrs;
@@ -7217,7 +7214,7 @@
 	return (attrs.width << 16) | attrs.height;
 }
 
-static int
+static long
 display_ioPositionOfNativeWindow(void *windowHandle)
 {
 	XWindowAttributes attrs;
@@ -7233,7 +7230,7 @@
 	return (rootx - attrs.x << 16) | (rooty - attrs.y);
 }
 
-static int
+static long
 display_ioSizeOfNativeWindow(void *windowHandle)
 {
 	XWindowAttributes attrs;

Modified: branches/Cog/platforms/unix/vm-display-custom/sqUnixCustomWindow.c
===================================================================
--- branches/Cog/platforms/unix/vm-display-custom/sqUnixCustomWindow.c	2014-12-12 19:53:24 UTC (rev 3176)
+++ branches/Cog/platforms/unix/vm-display-custom/sqUnixCustomWindow.c	2014-12-12 19:56:33 UTC (rev 3177)
@@ -167,7 +167,7 @@
   printf("shut down your Custom Window system here\n");
 }
 
-static int  display_winImageFind(char *buf, int len)		{ trace();  return 0; }
+static long  display_winImageFind(char *buf, long len)		{ trace();  return 0; }
 static void display_winImageNotFound(void)			{ trace(); }
 
 static sqInt display_primitivePluginBrowserReady(void)		{ return primitiveFail(); }

Modified: branches/Cog/platforms/unix/vm-display-fbdev/sqUnixFBDev.c
===================================================================
--- branches/Cog/platforms/unix/vm-display-fbdev/sqUnixFBDev.c	2014-12-12 19:53:24 UTC (rev 3176)
+++ branches/Cog/platforms/unix/vm-display-fbdev/sqUnixFBDev.c	2014-12-12 19:56:33 UTC (rev 3177)
@@ -456,30 +456,30 @@
 // Host Windows
 
 #if (SqDisplayVersionMajor >= 1 && SqDisplayVersionMinor >= 2)
-static int display_hostWindowClose(int index)                                               { return 0; }
-static int display_hostWindowCreate(int w, int h, int x, int y,
-  char *list, int attributeListLength)                                                      { return 0; }
-static int display_hostWindowShowDisplay(unsigned *dispBitsIndex, int width, int height, int depth,
-  int affectedL, int affectedR, int affectedT, int affectedB, int windowIndex)              { return 0; }
-static int display_hostWindowGetSize(int windowIndex)                                       { return -1; }
-static int display_hostWindowSetSize(int windowIndex, int w, int h)                         { return -1; }
-static int display_hostWindowGetPosition(int windowIndex)                                   { return -1; }
-static int display_hostWindowSetPosition(int windowIndex, int x, int y)                     { return -1; }
-static int display_hostWindowSetTitle(int windowIndex, char *newTitle, int sizeOfTitle)     { return -1; }
-static int display_hostWindowCloseAll(void)                                                 { return 0; }
+static long display_hostWindowClose(long index)                                               { return 0; }
+static long display_hostWindowCreate(long w, long h, long x, long y,
+  char *list, long attributeListLength)                                                      { return 0; }
+static long display_hostWindowShowDisplay(unsigned *dispBitsIndex, long width, long height, long depth,
+  long affectedL, long affectedR, long affectedT, long affectedB, long windowIndex)              { return 0; }
+static long display_hostWindowGetSize(long windowIndex)                                       { return -1; }
+static long display_hostWindowSetSize(long windowIndex, long w, long h)                         { return -1; }
+static long display_hostWindowGetPosition(long windowIndex)                                   { return -1; }
+static long display_hostWindowSetPosition(long windowIndex, long x, long y)                     { return -1; }
+static long display_hostWindowSetTitle(long windowIndex, char *newTitle, long sizeOfTitle)     { return -1; }
+static long display_hostWindowCloseAll(void)                                                 { return 0; }
 #endif
 
 
 

@@ Diff output truncated at 50000 characters. @@


More information about the Vm-dev mailing list