[Vm-dev] [commit][3357] CogVM source as per VMMaker.oscog-eem.1325

commits at squeakvm.org commits at squeakvm.org
Tue May 26 17:24:46 UTC 2015


Revision: 3357
Author:   eliot
Date:     2015-05-26 10:24:44 -0700 (Tue, 26 May 2015)
Log Message:
-----------
CogVM source as per VMMaker.oscog-eem.1325

Merge with Pharo (with VMMaker.oscog-EstebanLorenzano.1322).  Changes are null
to Squeak VM.  Pulled in are conditionally compiled changes for directory &
file creation (added ceration permissions) and to macro used to read image
file (for iPhone).

Cogit:
Fix PIC creation on ARM to jive with new pc-relative addressing
support (addressIsInCurrentCompilation:).

Slang:
Move comment containing method name from after opening brace to before function
prototype, because otherwise it interferes with the var struct decl.

Move the specifics of NoDbgRegParms out of VMMaker.

Assume it is defined in the various sqPlatformSpecific.h (see r3356).

Modified Paths:
--------------
    branches/Cog/nsspursrc/plugins/AioPlugin/AioPlugin.c
    branches/Cog/nsspursrc/plugins/AsynchFilePlugin/AsynchFilePlugin.c
    branches/Cog/nsspursrc/plugins/B2DPlugin/B2DPlugin.c
    branches/Cog/nsspursrc/plugins/BMPReadWriterPlugin/BMPReadWriterPlugin.c
    branches/Cog/nsspursrc/plugins/BitBltPlugin/BitBltPlugin.c
    branches/Cog/nsspursrc/plugins/DSAPrims/DSAPrims.c
    branches/Cog/nsspursrc/plugins/DropPlugin/DropPlugin.c
    branches/Cog/nsspursrc/plugins/FileCopyPlugin/FileCopyPlugin.c
    branches/Cog/nsspursrc/plugins/FilePlugin/FilePlugin.c
    branches/Cog/nsspursrc/plugins/FloatArrayPlugin/FloatArrayPlugin.c
    branches/Cog/nsspursrc/plugins/FloatMathPlugin/FloatMathPlugin.c
    branches/Cog/nsspursrc/plugins/IA32ABI/IA32ABI.c
    branches/Cog/nsspursrc/plugins/ImmX11Plugin/ImmX11Plugin.c
    branches/Cog/nsspursrc/plugins/JPEGReadWriter2Plugin/JPEGReadWriter2Plugin.c
    branches/Cog/nsspursrc/plugins/JPEGReaderPlugin/JPEGReaderPlugin.c
    branches/Cog/nsspursrc/plugins/LargeIntegers/LargeIntegers.c
    branches/Cog/nsspursrc/plugins/Matrix2x3Plugin/Matrix2x3Plugin.c
    branches/Cog/nsspursrc/plugins/MiscPrimitivePlugin/MiscPrimitivePlugin.c
    branches/Cog/nsspursrc/plugins/RePlugin/RePlugin.c
    branches/Cog/nsspursrc/plugins/SecurityPlugin/SecurityPlugin.c
    branches/Cog/nsspursrc/plugins/SocketPlugin/SocketPlugin.c
    branches/Cog/nsspursrc/plugins/SoundPlugin/SoundPlugin.c
    branches/Cog/nsspursrc/plugins/SqueakSSL/SqueakSSL.c
    branches/Cog/nsspursrc/plugins/UUIDPlugin/UUIDPlugin.c
    branches/Cog/nsspursrc/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c
    branches/Cog/nsspursrc/plugins/VMProfileLinuxSupportPlugin/VMProfileLinuxSupportPlugin.c
    branches/Cog/nsspursrc/plugins/VMProfileMacSupportPlugin/VMProfileMacSupportPlugin.c
    branches/Cog/nsspursrc/plugins/Win32OSProcessPlugin/Win32OSProcessPlugin.c
    branches/Cog/nsspursrc/plugins/ZipPlugin/ZipPlugin.c
    branches/Cog/nsspursrc/vm/cogit.h
    branches/Cog/nsspursrc/vm/cogitARMv5.c
    branches/Cog/nsspursrc/vm/cogitIA32.c
    branches/Cog/nsspursrc/vm/cointerp.c
    branches/Cog/nsspursrc/vm/cointerp.h
    branches/Cog/nsspursrc/vm/gcc3x-cointerp.c
    branches/Cog/nsspurstack64src/vm/gcc3x-interp.c
    branches/Cog/nsspurstack64src/vm/interp.c
    branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c
    branches/Cog/nsspurstacksrc/vm/interp.c
    branches/Cog/spursistasrc/vm/cogit.h
    branches/Cog/spursistasrc/vm/cogitARMv5.c
    branches/Cog/spursistasrc/vm/cogitIA32.c
    branches/Cog/spursistasrc/vm/cointerp.c
    branches/Cog/spursistasrc/vm/cointerp.h
    branches/Cog/spursistasrc/vm/gcc3x-cointerp.c
    branches/Cog/spursrc/vm/cogit.h
    branches/Cog/spursrc/vm/cogitARMv5.c
    branches/Cog/spursrc/vm/cogitIA32.c
    branches/Cog/spursrc/vm/cointerp.c
    branches/Cog/spursrc/vm/cointerp.h
    branches/Cog/spursrc/vm/gcc3x-cointerp.c
    branches/Cog/spurstack64src/vm/gcc3x-interp.c
    branches/Cog/spurstack64src/vm/interp.c
    branches/Cog/spurstacksrc/vm/gcc3x-interp.c
    branches/Cog/spurstacksrc/vm/interp.c
    branches/Cog/src/plugins/ADPCMCodecPlugin/ADPCMCodecPlugin.c
    branches/Cog/src/plugins/AioPlugin/AioPlugin.c
    branches/Cog/src/plugins/AsynchFilePlugin/AsynchFilePlugin.c
    branches/Cog/src/plugins/B2DPlugin/B2DPlugin.c
    branches/Cog/src/plugins/B3DAcceleratorPlugin/B3DAcceleratorPlugin.c
    branches/Cog/src/plugins/BMPReadWriterPlugin/BMPReadWriterPlugin.c
    branches/Cog/src/plugins/BitBltPlugin/BitBltPlugin.c
    branches/Cog/src/plugins/BochsIA32Plugin/BochsIA32Plugin.c
    branches/Cog/src/plugins/CameraPlugin/CameraPlugin.c
    branches/Cog/src/plugins/CroquetPlugin/CroquetPlugin.c
    branches/Cog/src/plugins/DSAPrims/DSAPrims.c
    branches/Cog/src/plugins/DropPlugin/DropPlugin.c
    branches/Cog/src/plugins/FFTPlugin/FFTPlugin.c
    branches/Cog/src/plugins/FileCopyPlugin/FileCopyPlugin.c
    branches/Cog/src/plugins/FilePlugin/FilePlugin.c
    branches/Cog/src/plugins/FloatArrayPlugin/FloatArrayPlugin.c
    branches/Cog/src/plugins/FloatMathPlugin/FloatMathPlugin.c
    branches/Cog/src/plugins/GdbARMPlugin/GdbARMPlugin.c
    branches/Cog/src/plugins/GeniePlugin/GeniePlugin.c
    branches/Cog/src/plugins/HostWindowPlugin/HostWindowPlugin.c
    branches/Cog/src/plugins/IA32ABI/IA32ABI.c
    branches/Cog/src/plugins/ImmX11Plugin/ImmX11Plugin.c
    branches/Cog/src/plugins/InternetConfigPlugin/InternetConfigPlugin.c
    branches/Cog/src/plugins/JPEGReadWriter2Plugin/JPEGReadWriter2Plugin.c
    branches/Cog/src/plugins/JPEGReaderPlugin/JPEGReaderPlugin.c
    branches/Cog/src/plugins/JoystickTabletPlugin/JoystickTabletPlugin.c
    branches/Cog/src/plugins/Klatt/Klatt.c
    branches/Cog/src/plugins/LargeIntegers/LargeIntegers.c
    branches/Cog/src/plugins/LocalePlugin/LocalePlugin.c
    branches/Cog/src/plugins/MIDIPlugin/MIDIPlugin.c
    branches/Cog/src/plugins/MacMenubarPlugin/MacMenubarPlugin.c
    branches/Cog/src/plugins/Matrix2x3Plugin/Matrix2x3Plugin.c
    branches/Cog/src/plugins/MiscPrimitivePlugin/MiscPrimitivePlugin.c
    branches/Cog/src/plugins/Mpeg3Plugin/Mpeg3Plugin.c
    branches/Cog/src/plugins/QuicktimePlugin/QuicktimePlugin.c
    branches/Cog/src/plugins/RePlugin/RePlugin.c
    branches/Cog/src/plugins/ScratchPlugin/ScratchPlugin.c
    branches/Cog/src/plugins/SecurityPlugin/SecurityPlugin.c
    branches/Cog/src/plugins/SerialPlugin/SerialPlugin.c
    branches/Cog/src/plugins/SocketPlugin/SocketPlugin.c
    branches/Cog/src/plugins/SoundCodecPrims/SoundCodecPrims.c
    branches/Cog/src/plugins/SoundGenerationPlugin/SoundGenerationPlugin.c
    branches/Cog/src/plugins/SoundPlugin/SoundPlugin.c
    branches/Cog/src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c
    branches/Cog/src/plugins/SqueakFFIPrims/IA32FFIPlugin.c
    branches/Cog/src/plugins/SqueakSSL/SqueakSSL.c
    branches/Cog/src/plugins/StarSqueakPlugin/StarSqueakPlugin.c
    branches/Cog/src/plugins/UUIDPlugin/UUIDPlugin.c
    branches/Cog/src/plugins/UnicodePlugin/UnicodePlugin.c
    branches/Cog/src/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c
    branches/Cog/src/plugins/VMProfileLinuxSupportPlugin/VMProfileLinuxSupportPlugin.c
    branches/Cog/src/plugins/VMProfileMacSupportPlugin/VMProfileMacSupportPlugin.c
    branches/Cog/src/plugins/WeDoPlugin/WeDoPlugin.c
    branches/Cog/src/plugins/Win32OSProcessPlugin/Win32OSProcessPlugin.c
    branches/Cog/src/plugins/XDisplayControlPlugin/XDisplayControlPlugin.c
    branches/Cog/src/plugins/ZipPlugin/ZipPlugin.c
    branches/Cog/src/vm/cogit.h
    branches/Cog/src/vm/cogitARMv5.c
    branches/Cog/src/vm/cogitIA32.c
    branches/Cog/src/vm/cointerp.c
    branches/Cog/src/vm/cointerp.h
    branches/Cog/src/vm/cointerpmt.c
    branches/Cog/src/vm/cointerpmt.h
    branches/Cog/src/vm/gcc3x-cointerp.c
    branches/Cog/src/vm/gcc3x-cointerpmt.c
    branches/Cog/stacksrc/vm/gcc3x-interp.c
    branches/Cog/stacksrc/vm/interp.c

Property Changed:
----------------
    branches/Cog/build.macos32x86/newspeak.cog.spur/installer/
    branches/Cog/build.macos32x86/squeak.cog.spur/GdbARMPlugin/GdbARMPlugin.xcodeproj/
    branches/Cog/build.macos32x86/squeak.cog.v3/GdbARMPlugin/GdbARMPlugin.xcodeproj/
    branches/Cog/build.macos32x86/squeak.sista.spur/GdbARMPlugin/GdbARMPlugin.xcodeproj/
    branches/Cog/platforms/Cross/vm/sqSCCSVersion.h


Property changes on: branches/Cog/build.macos32x86/newspeak.cog.spur/installer
___________________________________________________________________
Added: svn:ignore
   + *.dmg



Property changes on: branches/Cog/build.macos32x86/squeak.cog.spur/GdbARMPlugin/GdbARMPlugin.xcodeproj
___________________________________________________________________
Added: svn:ignore
   + *.pbxuser
*.mode*



Property changes on: branches/Cog/build.macos32x86/squeak.cog.v3/GdbARMPlugin/GdbARMPlugin.xcodeproj
___________________________________________________________________
Added: svn:ignore
   + *.pbxuser
*.mode*



Property changes on: branches/Cog/build.macos32x86/squeak.sista.spur/GdbARMPlugin/GdbARMPlugin.xcodeproj
___________________________________________________________________
Added: svn:ignore
   + *.pbxuser
*.mode*


Modified: branches/Cog/nsspursrc/plugins/AioPlugin/AioPlugin.c
===================================================================
--- branches/Cog/nsspursrc/plugins/AioPlugin/AioPlugin.c	2015-05-24 02:03:15 UTC (rev 3356)
+++ branches/Cog/nsspursrc/plugins/AioPlugin/AioPlugin.c	2015-05-26 17:24:44 UTC (rev 3357)
@@ -1,5 +1,5 @@
 /* Automatically generated by
-	VMPluginCodeGenerator VMMaker.oscog-eem.1145 uuid: 945d0a43-e29d-4fb4-a1b8-263465636aec
+	VMPluginCodeGenerator VMMaker.oscog-eem.1325 uuid: a0bb0f7f-5e6e-48a7-bf73-fa5d135e06c0
    from
 	UnixAioPlugin VMConstruction-Plugins-AioPlugin-eem.18 uuid: c426ab70-05a2-43a1-a899-e324aaf8f92f
  */
@@ -135,6 +135,7 @@
 	#primitiveAioHandle. 
  */
 
+	/* UnixAioPlugin>>#aioForward:withData:andFlags: */
 static void
 aioForwardwithDataandFlags(int fd, void *data, int flags)
 {
@@ -154,6 +155,7 @@
  */
 /*	return type should be int, but skip the declaration to permit inlining */
 
+	/* AioPlugin>>#fileDescriptorFrom: */
 static sqInt
 fileDescriptorFrom(sqInt aSQFileByteArray)
 {
@@ -170,6 +172,7 @@
 /*	Answer a file handle from a SQFile structure. On most platforms, this
 	will be a (FILE *). On Win32, it is a HANDLE. */
 
+	/* AioPlugin>>#fileHandleFrom: */
 static FILEHANDLETYPE
 fileHandleFrom(sqInt sqFileStructByteArray)
 {
@@ -182,6 +185,7 @@
 
 /*	Answer the size of a SQFile data structure in bytes. */
 
+	/* AioPlugin>>#fileRecordSize */
 static sqInt
 fileRecordSize(void)
 {
@@ -195,6 +199,7 @@
 	self>>fileRecordSize. 
  */
 
+	/* AioPlugin>>#fileValueOf: */
 static SQFile *
 fileValueOf(sqInt anSQFileRecord)
 {
@@ -207,18 +212,21 @@
 	it is loaded to check if it does really contain the module
 	we're thinking it contains. This is important! */
 
+	/* InterpreterPlugin>>#getModuleName */
 EXPORT(const char*)
 getModuleName(void)
 {
 	return moduleName;
 }
 
+	/* AioPlugin>>#getThisSessionIdentifier */
 static sqInt
 getThisSessionIdentifier(void)
 {
 	return getThisSessionID();
 }
 
+	/* AioPlugin>>#initialiseModule */
 EXPORT(sqInt)
 initialiseModule(void)
 {
@@ -228,6 +236,7 @@
 
 /*	Check for the common failure mode of a SQFile record with all zeros. */
 
+	/* AioPlugin>>#isNonNullSQFile: */
 static sqInt
 isNonNullSQFile(sqInt objectPointer)
 {
@@ -248,6 +257,7 @@
 
 /*	Check for the common failure mode of a SQSocket record with all zeros. */
 
+	/* AioPlugin>>#isNullSQSocket: */
 static sqInt
 isNullSQSocket(sqInt objectPointer)
 {
@@ -270,6 +280,7 @@
 	This check is appropriate if objectPointer has been passed as a parameter
 	to a primitive, and is expected to represent a valid file reference. */
 
+	/* AioPlugin>>#isSQFileObject: */
 static sqInt
 isSQFileObject(sqInt objectPointer)
 {
@@ -287,6 +298,7 @@
 	is expected to represent a valid socket reference.
  */
 
+	/* AioPlugin>>#isSQSocketObject: */
 static sqInt
 isSQSocketObject(sqInt objectPointer)
 {
@@ -300,6 +312,7 @@
 	identifier. 
  */
 
+	/* AioPlugin>>#isValidFileSession: */
 static sqInt
 isValidFileSession(sqInt objectPointer)
 {
@@ -310,6 +323,7 @@
 /*	The module with the given name was just unloaded.
 	Make sure we have no dangling references. */
 
+	/* AioPlugin>>#moduleUnloaded: */
 EXPORT(sqInt)
 moduleUnloaded(char *aModuleName)
 {
@@ -319,6 +333,7 @@
 /*	Definitively disable asynchronous event notification for a descriptor. The
 	parameter is an OS level integer file descriptor. */
 
+	/* UnixAioPlugin>>#primitiveAioDisable */
 EXPORT(sqInt)
 primitiveAioDisable(void)
 {
@@ -347,6 +362,7 @@
 	the semaphore index.
  */
 
+	/* UnixAioPlugin>>#primitiveAioEnable */
 EXPORT(sqInt)
 primitiveAioEnable(void)
 {
@@ -389,6 +405,7 @@
 	AIO_R	(1<<1)	handle for read
 	AIO_W	(1<<2)	handle for write */
 
+	/* UnixAioPlugin>>#primitiveAioHandle */
 EXPORT(sqInt)
 primitiveAioHandle(void)
 {
@@ -435,6 +452,7 @@
 	AIO_R	(1<<1)	handle for read
 	AIO_W	(1<<2)	handle for write */
 
+	/* UnixAioPlugin>>#primitiveAioSuspend */
 EXPORT(sqInt)
 primitiveAioSuspend(void)
 {
@@ -472,6 +490,7 @@
 
 /*	Answer a string containing the module name string for this plugin. */
 
+	/* AioPlugin>>#primitiveModuleName */
 EXPORT(sqInt)
 primitiveModuleName(void)
 {
@@ -483,6 +502,7 @@
 	number. 
  */
 
+	/* UnixAioPlugin>>#primitiveOSFileHandle */
 EXPORT(sqInt)
 primitiveOSFileHandle(void)
 {
@@ -515,6 +535,7 @@
 	file number.
  */
 
+	/* UnixAioPlugin>>#primitiveOSSocketHandle */
 EXPORT(sqInt)
 primitiveOSSocketHandle(void)
 {
@@ -538,6 +559,7 @@
 
 /*	Answer a string containing the version string for this plugin. */
 
+	/* AioPlugin>>#primitiveVersionString */
 EXPORT(sqInt)
 primitiveVersionString(void)
 {
@@ -549,6 +571,7 @@
 	reference, this identifier will match the session identifier supplied by
 	the interpreter. */
 
+	/* AioPlugin>>#sessionIdentifierFromSqFile: */
 static SESSIONIDENTIFIERTYPE
 sessionIdentifierFromSqFile(SQFile *sqFile)
 {
@@ -558,6 +581,7 @@
 
 /*	Note: This is coded so that it can be run in Squeak. */
 
+	/* InterpreterPlugin>>#setInterpreter: */
 EXPORT(sqInt)
 setInterpreter(struct VirtualMachine*anInterpreter)
 {
@@ -590,6 +614,7 @@
 	return ok;
 }
 
+	/* AioPlugin>>#shutdownModule */
 EXPORT(sqInt)
 shutdownModule(void)
 {
@@ -608,6 +633,7 @@
 	structure. 
  */
 
+	/* AioPlugin>>#socketDescriptorFrom: */
 static int
 socketDescriptorFrom(sqInt sqSocketOop)
 {
@@ -626,6 +652,7 @@
 
 /*	Answer the size of a SQSocket data structure in bytes. */
 
+	/* AioPlugin>>#socketRecordSize */
 static sqInt
 socketRecordSize(void)
 {
@@ -639,6 +666,7 @@
 	self>>socketRecordSize. 
  */
 
+	/* AioPlugin>>#socketValueOf: */
 static SQSocket *
 socketValueOf(sqInt anSQSocketRecord)
 {
@@ -649,6 +677,7 @@
 /*	Answer a new String copied from a null-terminated C string.
 	Caution: This may invoke the garbage collector. */
 
+	/* AioPlugin>>#stringFromCString: */
 static sqInt
 stringFromCString(const char *aCString)
 {
@@ -671,6 +700,7 @@
  */
 /*	2.0 supports 64bit code base */
 
+	/* AioPlugin>>#versionString */
 static char *
 versionString(void)
 {

Modified: branches/Cog/nsspursrc/plugins/AsynchFilePlugin/AsynchFilePlugin.c
===================================================================
--- branches/Cog/nsspursrc/plugins/AsynchFilePlugin/AsynchFilePlugin.c	2015-05-24 02:03:15 UTC (rev 3356)
+++ branches/Cog/nsspursrc/plugins/AsynchFilePlugin/AsynchFilePlugin.c	2015-05-26 17:24:44 UTC (rev 3357)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	SmartSyntaxPluginCodeGenerator VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae
+	SmartSyntaxPluginCodeGenerator VMMaker.oscog-eem.1325 uuid: a0bb0f7f-5e6e-48a7-bf73-fa5d135e06c0
    from
-	AsynchFilePlugin VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae
+	AsynchFilePlugin VMMaker.oscog-eem.1325 uuid: a0bb0f7f-5e6e-48a7-bf73-fa5d135e06c0
  */
-static char __buildInfo[] = "AsynchFilePlugin VMMaker.oscog-eem.1313 uuid: f7251538-4676-49b4-bc2c-f2cfecd2a3ae " __DATE__ ;
+static char __buildInfo[] = "AsynchFilePlugin VMMaker.oscog-eem.1325 uuid: a0bb0f7f-5e6e-48a7-bf73-fa5d135e06c0 " __DATE__ ;
 
 
 
@@ -102,9 +102,9 @@
 struct VirtualMachine* interpreterProxy;
 static const char *moduleName =
 #ifdef SQUEAK_BUILTIN_PLUGIN
-	"AsynchFilePlugin VMMaker.oscog-eem.1313 (i)"
+	"AsynchFilePlugin VMMaker.oscog-eem.1325 (i)"
 #else
-	"AsynchFilePlugin VMMaker.oscog-eem.1313 (e)"
+	"AsynchFilePlugin VMMaker.oscog-eem.1325 (e)"
 #endif
 ;
 static void * sCOAFfn;
@@ -115,6 +115,7 @@
 	given Smalltalk bytes object, or fail and answer nil if oop is not an
 	async file record. */
 
+	/* AsynchFilePlugin>>#asyncFileValueOf: */
 static AsyncFile *
 asyncFileValueOf(sqInt oop)
 {
@@ -132,6 +133,7 @@
 	it is loaded to check if it does really contain the module
 	we're thinking it contains. This is important! */
 
+	/* InterpreterPlugin>>#getModuleName */
 EXPORT(const char*)
 getModuleName(void)
 {
@@ -141,6 +143,7 @@
 
 /*	Initialise the module */
 
+	/* AsynchFilePlugin>>#initialiseModule */
 EXPORT(sqInt)
 initialiseModule(void)
 {
@@ -152,6 +155,7 @@
 /*	The module with the given name was just unloaded. 
 	Make sure we have no dangling references. */
 
+	/* AsynchFilePlugin>>#moduleUnloaded: */
 EXPORT(sqInt)
 moduleUnloaded(char *aModuleName)
 {
@@ -163,6 +167,7 @@
 	}
 }
 
+	/* AsynchFilePlugin>>#primitiveAsyncFileClose */
 EXPORT(sqInt)
 primitiveAsyncFileClose(void)
 {
@@ -193,6 +198,7 @@
 	return null;
 }
 
+	/* AsynchFilePlugin>>#primitiveAsyncFileOpen */
 EXPORT(sqInt)
 primitiveAsyncFileOpen(void)
 {
@@ -243,6 +249,7 @@
 	return null;
 }
 
+	/* AsynchFilePlugin>>#primitiveAsyncFileReadResult */
 EXPORT(sqInt)
 primitiveAsyncFileReadResult(void)
 {
@@ -303,6 +310,7 @@
 	return null;
 }
 
+	/* AsynchFilePlugin>>#primitiveAsyncFileReadStart */
 EXPORT(sqInt)
 primitiveAsyncFileReadStart(void)
 {
@@ -337,6 +345,7 @@
 	return null;
 }
 
+	/* AsynchFilePlugin>>#primitiveAsyncFileWriteResult */
 EXPORT(sqInt)
 primitiveAsyncFileWriteResult(void)
 {
@@ -370,6 +379,7 @@
 	return null;
 }
 
+	/* AsynchFilePlugin>>#primitiveAsyncFileWriteStart */
 EXPORT(sqInt)
 primitiveAsyncFileWriteStart(void)
 {
@@ -432,6 +442,7 @@
 
 /*	Note: This is coded so that it can be run in Squeak. */
 
+	/* InterpreterPlugin>>#setInterpreter: */
 EXPORT(sqInt)
 setInterpreter(struct VirtualMachine*anInterpreter)
 {
@@ -469,12 +480,14 @@
 
 /*	Initialise the module */
 
+	/* AsynchFilePlugin>>#shutdownModule */
 EXPORT(sqInt)
 shutdownModule(void)
 {
 	return asyncFileShutdown();
 }
 
+	/* SmartSyntaxInterpreterPlugin>>#sqAssert: */
 static sqInt
 sqAssert(sqInt aBool)
 {

Modified: branches/Cog/nsspursrc/plugins/B2DPlugin/B2DPlugin.c
===================================================================
--- branches/Cog/nsspursrc/plugins/B2DPlugin/B2DPlugin.c	2015-05-24 02:03:15 UTC (rev 3356)
+++ branches/Cog/nsspursrc/plugins/B2DPlugin/B2DPlugin.c	2015-05-26 17:24:44 UTC (rev 3357)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	VMPluginCodeGenerator VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710
+	VMPluginCodeGenerator VMMaker.oscog-eem.1325 uuid: a0bb0f7f-5e6e-48a7-bf73-fa5d135e06c0
    from
-	BalloonEnginePlugin VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710
+	BalloonEnginePlugin VMMaker.oscog-eem.1325 uuid: a0bb0f7f-5e6e-48a7-bf73-fa5d135e06c0
  */
-static char __buildInfo[] = "BalloonEnginePlugin VMMaker.oscog-eem.1315 uuid: a8172799-131a-401c-861e-55a1d2c21710 " __DATE__ ;
+static char __buildInfo[] = "BalloonEnginePlugin VMMaker.oscog-eem.1325 uuid: a0bb0f7f-5e6e-48a7-bf73-fa5d135e06c0 " __DATE__ ;
 
 
 
@@ -836,9 +836,9 @@
 static void * loadBBFn;
 static const char *moduleName =
 #ifdef SQUEAK_BUILTIN_PLUGIN
-	"B2DPlugin VMMaker.oscog-eem.1315 (i)"
+	"B2DPlugin VMMaker.oscog-eem.1325 (i)"
 #else
-	"B2DPlugin VMMaker.oscog-eem.1315 (e)"
+	"B2DPlugin VMMaker.oscog-eem.1325 (e)"
 #endif
 ;
 static int* objBuffer;
@@ -847,24 +847,28 @@
 static int* workBuffer;
 
 
+	/* BalloonEngineBase>>#aaColorMaskGet */
 static sqInt
 aaColorMaskGet(void)
 {
 	return workBuffer[GWAAColorMask];
 }
 
+	/* BalloonEngineBase>>#aaColorMaskPut: */
 static sqInt
 aaColorMaskPut(sqInt value)
 {
 	return workBuffer[GWAAColorMask] = value;
 }
 
+	/* BalloonEngineBase>>#aaColorShiftGet */
 static sqInt
 aaColorShiftGet(void)
 {
 	return workBuffer[GWAAColorShift];
 }
 
+	/* BalloonEngineBase>>#aaColorShiftPut: */
 static sqInt
 aaColorShiftPut(sqInt value)
 {
@@ -874,6 +878,7 @@
 
 /*	Common function to compute the first full pixel for AA drawing */
 
+	/* BalloonEngineBase>>#aaFirstPixelFrom:to: */
 static sqInt
 aaFirstPixelFromto(sqInt leftX, sqInt rightX)
 {
@@ -888,12 +893,14 @@
 	}
 }
 
+	/* BalloonEngineBase>>#aaHalfPixelGet */
 static sqInt
 aaHalfPixelGet(void)
 {
 	return workBuffer[GWAAHalfPixel];
 }
 
+	/* BalloonEngineBase>>#aaHalfPixelPut: */
 static sqInt
 aaHalfPixelPut(sqInt value)
 {
@@ -903,42 +910,49 @@
 
 /*	Common function to compute the last full pixel for AA drawing */
 
+	/* BalloonEngineBase>>#aaLastPixelFrom:to: */
 static sqInt
 aaLastPixelFromto(sqInt leftX, sqInt rightX)
 {
 	return (rightX - 1) & ((unsigned int)~((workBuffer[GWAALevel]) - 1));
 }
 
+	/* BalloonEngineBase>>#aaLevelGet */
 static sqInt
 aaLevelGet(void)
 {
 	return workBuffer[GWAALevel];
 }
 
+	/* BalloonEngineBase>>#aaLevelPut: */
 static sqInt
 aaLevelPut(sqInt value)
 {
 	return workBuffer[GWAALevel] = value;
 }
 
+	/* BalloonEngineBase>>#aaScanMaskGet */
 static sqInt
 aaScanMaskGet(void)
 {
 	return workBuffer[GWAAScanMask];
 }
 
+	/* BalloonEngineBase>>#aaScanMaskPut: */
 static sqInt
 aaScanMaskPut(sqInt value)
 {
 	return workBuffer[GWAAScanMask] = value;
 }
 
+	/* BalloonEngineBase>>#aaShiftGet */
 static sqInt
 aaShiftGet(void)
 {
 	return workBuffer[GWAAShift];
 }
 
+	/* BalloonEngineBase>>#aaShiftPut: */
 static sqInt
 aaShiftPut(sqInt value)
 {
@@ -949,6 +963,7 @@
 /*	Compute the squared value of a 8.24 number with 0.0 <= value < 1.0,
 	e.g., compute (value * value) bitShift: -24 */
 
+	/* BalloonEnginePlugin>>#absoluteSquared8Dot24: */
 static sqInt
 absoluteSquared8Dot24(sqInt value)
 {
@@ -963,6 +978,7 @@
 
 /*	Return the accurate length of the vector described by deltaX and deltaY */
 
+	/* BalloonEngineBase>>#accurateLengthOf:with: */
 static sqInt
 accurateLengthOfwith(sqInt deltaX, sqInt deltaY)
 {
@@ -994,6 +1010,7 @@
 	}
 }
 
+	/* BalloonEngineBase>>#addEdgeToGET: */
 static sqInt
 addEdgeToGET(sqInt edge)
 {
@@ -1013,6 +1030,7 @@
 	to 255 and thus fill the entire range of colors.
  */
 
+	/* BalloonEngineBase>>#adjustAALevel */
 static sqInt
 adjustAALevel(void)
 {
@@ -1036,6 +1054,7 @@
 
 /*	Adjust the wide bezier curve (dx < 0) to start/end at the right point */
 
+	/* BalloonEnginePlugin>>#adjustWideBezierLeft:width:offset:endX: */
 static sqInt
 adjustWideBezierLeftwidthoffsetendX(sqInt bezier, sqInt lineWidth, sqInt lineOffset, sqInt endX)
 {
@@ -1053,6 +1072,7 @@
 
 /*	Adjust the wide bezier curve (dx >= 0) to start/end at the right point */
 
+	/* BalloonEnginePlugin>>#adjustWideBezierRight:width:offset:endX: */
 static sqInt
 adjustWideBezierRightwidthoffsetendX(sqInt bezier, sqInt lineWidth, sqInt lineOffset, sqInt endX)
 {
@@ -1075,6 +1095,7 @@
 	Special adjustments of line width and start position are made here
 	to simulate a rectangular brush */
 
+	/* BalloonEnginePlugin>>#adjustWideLine:afterSteppingFrom:to: */
 static sqInt
 adjustWideLineafterSteppingFromto(sqInt line, sqInt lastX, sqInt nextX)
 {
@@ -1139,24 +1160,28 @@
 	objBuffer[line + GLWideWidth] = lineWidth;
 }
 
+	/* BalloonEngineBase>>#aetStartGet */
 static sqInt
 aetStartGet(void)
 {
 	return workBuffer[GWAETStart];
 }
 
+	/* BalloonEngineBase>>#aetStartPut: */
 static sqInt
 aetStartPut(sqInt value)
 {
 	return workBuffer[GWAETStart] = value;
 }
 
+	/* BalloonEngineBase>>#aetUsedGet */
 static sqInt
 aetUsedGet(void)
 {
 	return workBuffer[GWAETUsed];
 }
 
+	/* BalloonEngineBase>>#aetUsedPut: */
 static sqInt
 aetUsedPut(sqInt value)
 {
@@ -1166,6 +1191,7 @@
 
 /*	Allocate n slots in the active edge table */
 
+	/* BalloonEngineBase>>#allocateAETEntry: */
 static sqInt
 allocateAETEntry(sqInt nSlots)
 {
@@ -1179,6 +1205,7 @@
 	return 1;
 }
 
+	/* BalloonEnginePlugin>>#allocateBezier */
 static sqInt
 allocateBezier(void)
 {
@@ -1195,6 +1222,7 @@
 	return bezier;
 }
 
+	/* BalloonEnginePlugin>>#allocateBezierStackEntry */
 static sqInt
 allocateBezierStackEntry(void)
 {
@@ -1209,6 +1237,7 @@
 	return (workBuffer[GWSize]) - (workBuffer[GWBufferTop]);
 }
 
+	/* BalloonEnginePlugin>>#allocateBitmapFill:colormap: */
 static sqInt
 allocateBitmapFillcolormap(sqInt cmSize, int *cmBits)
 {
@@ -1245,6 +1274,7 @@
 
 /*	Allocate n slots in the global edge table */
 
+	/* BalloonEngineBase>>#allocateGETEntry: */
 static sqInt
 allocateGETEntry(sqInt nSlots)
 {
@@ -1272,6 +1302,7 @@
 	return 1;
 }
 
+	/* BalloonEnginePlugin>>#allocateGradientFill:rampWidth:isRadial: */
 static sqInt
 allocateGradientFillrampWidthisRadial(int *ramp, sqInt rampWidth, sqInt isRadial)
 {
@@ -1310,6 +1341,7 @@
 	return fill;
 }
 
+	/* BalloonEnginePlugin>>#allocateLine */
 static sqInt
 allocateLine(void)
 {
@@ -1329,6 +1361,7 @@
 
 /*	Allocate n slots in the object buffer */
 
+	/* BalloonEngineBase>>#allocateObjEntry: */
 static sqInt
 allocateObjEntry(sqInt nSlots)
 {
@@ -1359,6 +1392,7 @@
 
 /*	AET and Stack allocation are symmetric */
 
+	/* BalloonEngineBase>>#allocateStackEntry: */
 static sqInt
 allocateStackEntry(sqInt nSlots)
 {
@@ -1372,6 +1406,7 @@
 	return 1;
 }
 
+	/* BalloonEngineBase>>#allocateStackFillEntry */
 static sqInt
 allocateStackFillEntry(void)
 {
@@ -1383,6 +1418,7 @@
 	return 1;
 }
 
+	/* BalloonEnginePlugin>>#allocateWideBezier */
 static sqInt
 allocateWideBezier(void)
 {
@@ -1399,6 +1435,7 @@
 	return bezier;
 }
 
+	/* BalloonEnginePlugin>>#allocateWideLine */
 static sqInt
 allocateWideLine(void)
 {
@@ -1415,6 +1452,7 @@
 	return line;
 }
 
+	/* BalloonEngineBase>>#areEdgeFillsValid: */
 static sqInt
 areEdgeFillsValid(sqInt edge)
 {
@@ -1424,6 +1462,7 @@
 
 /*	Make sure that val1 is between val2 and val3. */
 
+	/* BalloonEnginePlugin>>#assureValue:between:and: */
 static sqInt
 assureValuebetweenand(sqInt val1, sqInt val2, sqInt val3)
 {
@@ -1446,144 +1485,168 @@
 	return val1;
 }
 
+	/* BalloonEnginePlugin>>#bezierEndXOf: */
 static sqInt
 bezierEndXOf(sqInt bezier)
 {
 	return objBuffer[bezier + GBEndX];
 }
 
+	/* BalloonEnginePlugin>>#bezierEndXOf:put: */
 static sqInt
 bezierEndXOfput(sqInt bezier, sqInt value)
 {
 	return objBuffer[bezier + GBEndX] = value;
 }
 
+	/* BalloonEnginePlugin>>#bezierEndYOf: */
 static sqInt
 bezierEndYOf(sqInt bezier)
 {
 	return objBuffer[bezier + GBEndY];
 }
 
+	/* BalloonEnginePlugin>>#bezierEndYOf:put: */
 static sqInt
 bezierEndYOfput(sqInt bezier, sqInt value)
 {
 	return objBuffer[bezier + GBEndY] = value;
 }
 
+	/* BalloonEnginePlugin>>#bezierFinalXOf: */
 static sqInt
 bezierFinalXOf(sqInt bezier)
 {
 	return objBuffer[bezier + GBFinalX];
 }
 
+	/* BalloonEnginePlugin>>#bezierFinalXOf:put: */
 static sqInt
 bezierFinalXOfput(sqInt bezier, sqInt value)
 {
 	return objBuffer[bezier + GBFinalX] = value;
 }
 
+	/* BalloonEnginePlugin>>#bezierUpdateDataOf: */
 static int *
 bezierUpdateDataOf(sqInt bezier)
 {
 	return (objBuffer + bezier) + GBUpdateData;
 }
 
+	/* BalloonEnginePlugin>>#bezierViaXOf: */
 static sqInt
 bezierViaXOf(sqInt bezier)
 {
 	return objBuffer[bezier + GBViaX];
 }
 
+	/* BalloonEnginePlugin>>#bezierViaXOf:put: */
 static sqInt
 bezierViaXOfput(sqInt bezier, sqInt value)
 {
 	return objBuffer[bezier + GBViaX] = value;
 }
 
+	/* BalloonEnginePlugin>>#bezierViaYOf: */
 static sqInt
 bezierViaYOf(sqInt bezier)
 {
 	return objBuffer[bezier + GBViaY];
 }
 
+	/* BalloonEnginePlugin>>#bezierViaYOf:put: */
 static sqInt
 bezierViaYOfput(sqInt bezier, sqInt value)
 {
 	return objBuffer[bezier + GBViaY] = value;
 }
 
+	/* BalloonEnginePlugin>>#bitmapCmSizeOf: */
 static sqInt
 bitmapCmSizeOf(sqInt bmFill)
 {
 	return objBuffer[bmFill + GBColormapSize];
 }
 
+	/* BalloonEnginePlugin>>#bitmapCmSizeOf:put: */
 static sqInt
 bitmapCmSizeOfput(sqInt bmFill, sqInt value)
 {
 	return objBuffer[bmFill + GBColormapSize] = value;
 }
 
+	/* BalloonEnginePlugin>>#bitmapDepthOf: */
 static sqInt
 bitmapDepthOf(sqInt bmFill)
 {
 	return objBuffer[bmFill + GBBitmapDepth];
 }
 
+	/* BalloonEnginePlugin>>#bitmapDepthOf:put: */
 static sqInt
 bitmapDepthOfput(sqInt bmFill, sqInt value)
 {
 	return objBuffer[bmFill + GBBitmapDepth] = value;
 }
 
+	/* BalloonEnginePlugin>>#bitmapHeightOf: */
 static sqInt
 bitmapHeightOf(sqInt bmFill)
 {
 	return objBuffer[bmFill + GBBitmapHeight];
 }
 
+	/* BalloonEnginePlugin>>#bitmapHeightOf:put: */
 static sqInt
 bitmapHeightOfput(sqInt bmFill, sqInt value)
 {
 	return objBuffer[bmFill + GBBitmapHeight] = value;
 }
 
+	/* BalloonEnginePlugin>>#bitmapRasterOf: */
 static sqInt
 bitmapRasterOf(sqInt bmFill)
 {
 	return objBuffer[bmFill + GBBitmapRaster];
 }
 
+	/* BalloonEnginePlugin>>#bitmapRasterOf:put: */
 static sqInt
 bitmapRasterOfput(sqInt bmFill, sqInt value)
 {
 	return objBuffer[bmFill + GBBitmapRaster] = value;
 }
 
+	/* BalloonEnginePlugin>>#bitmapSizeOf: */
 static sqInt
 bitmapSizeOf(sqInt bmFill)
 {
 	return objBuffer[bmFill + GBBitmapSize];
 }
 
+	/* BalloonEnginePlugin>>#bitmapSizeOf:put: */
 static sqInt
 bitmapSizeOfput(sqInt bmFill, sqInt value)
 {
 	return objBuffer[bmFill + GBBitmapSize] = value;
 }
 
+	/* BalloonEnginePlugin>>#bitmapTileFlagOf: */
 static sqInt
 bitmapTileFlagOf(sqInt bmFill)
 {
 	return objBuffer[bmFill + GBTileFlag];
 }
 
+	/* BalloonEnginePlugin>>#bitmapTileFlagOf:put: */
 static sqInt
 bitmapTileFlagOfput(sqInt bmFill, sqInt value)
 {
 	return objBuffer[bmFill + GBTileFlag] = value;
 }
 
+	/* BalloonEnginePlugin>>#bitmapValue:bits:atX:y: */
 static sqInt
 bitmapValuebitsatXy(sqInt bmFill, sqInt bits, sqInt xp, sqInt yp)
 {
@@ -1650,84 +1713,98 @@
 	return uncheckedTransformColor(value);
 }
 
+	/* BalloonEnginePlugin>>#bitmapWidthOf: */
 static sqInt
 bitmapWidthOf(sqInt bmFill)
 {
 	return objBuffer[bmFill + GBBitmapWidth];
 }
 
+	/* BalloonEnginePlugin>>#bitmapWidthOf:put: */
 static sqInt
 bitmapWidthOfput(sqInt bmFill, sqInt value)
 {
 	return objBuffer[bmFill + GBBitmapWidth] = value;
 }
 
+	/* BalloonEnginePlugin>>#bzEndX: */
 static sqInt
 bzEndX(sqInt index)
 {
 	return workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - index) + 4)];
 }
 
+	/* BalloonEnginePlugin>>#bzEndX:put: */
 static sqInt
 bzEndXput(sqInt index, sqInt value)
 {
 	return workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - index) + 4)] = value;
 }
 
+	/* BalloonEnginePlugin>>#bzEndY: */
 static sqInt
 bzEndY(sqInt index)
 {
 	return workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - index) + 5)];
 }
 
+	/* BalloonEnginePlugin>>#bzEndY:put: */
 static sqInt
 bzEndYput(sqInt index, sqInt value)
 {
 	return workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - index) + 5)] = value;
 }
 
+	/* BalloonEnginePlugin>>#bzStartX: */
 static sqInt
 bzStartX(sqInt index)
 {
 	return workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - index))];
 }
 
+	/* BalloonEnginePlugin>>#bzStartX:put: */
 static sqInt
 bzStartXput(sqInt index, sqInt value)
 {
 	return workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - index))] = value;
 }
 
+	/* BalloonEnginePlugin>>#bzStartY: */
 static sqInt
 bzStartY(sqInt index)
 {
 	return workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - index) + 1)];
 }
 
+	/* BalloonEnginePlugin>>#bzStartY:put: */
 static sqInt
 bzStartYput(sqInt index, sqInt value)
 {
 	return workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - index) + 1)] = value;
 }
 
+	/* BalloonEnginePlugin>>#bzViaX: */
 static sqInt
 bzViaX(sqInt index)
 {
 	return workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - index) + 2)];
 }
 
+	/* BalloonEnginePlugin>>#bzViaX:put: */
 static sqInt
 bzViaXput(sqInt index, sqInt value)
 {
 	return workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - index) + 2)] = value;
 }
 
+	/* BalloonEnginePlugin>>#bzViaY: */
 static sqInt
 bzViaY(sqInt index)
 {
 	return workBuffer[(workBuffer[GWBufferTop]) + ((((workBuffer[GWSize]) - (workBuffer[GWBufferTop])) - index) + 3)];
 }
 
+	/* BalloonEnginePlugin>>#bzViaY:put: */
 static sqInt
 bzViaYput(sqInt index, sqInt value)
 {
@@ -1737,6 +1814,7 @@
 
 /*	Check the fill indexes in the run-length encoded fillList */
 
+	/* BalloonEnginePlugin>>#checkCompressedFillIndexList:max:segments: */
 static sqInt
 checkCompressedFillIndexListmaxsegments(sqInt fillList, sqInt maxIndex, sqInt nSegs)
 {
@@ -1765,6 +1843,7 @@
 
 /*	Check if the indexList (containing fill handles) is okay. */
 
+	/* BalloonEnginePlugin>>#checkCompressedFills: */
 static sqInt
 checkCompressedFills(sqInt indexList)
 {
@@ -1796,6 +1875,7 @@
 
 /*	Check the run-length encoded lineWidthList matches nSegments */
 
+	/* BalloonEnginePlugin>>#checkCompressedLineWidths:segments: */
 static sqInt
 checkCompressedLineWidthssegments(sqInt lineWidthList, sqInt nSegments)
 {
@@ -1818,6 +1898,7 @@
 
 /*	Check if the given point array can be handled by the engine. */
 
+	/* BalloonEnginePlugin>>#checkCompressedPoints:segments: */
 static sqInt
 checkCompressedPointssegments(sqInt points, sqInt nSegments)
 {
@@ -1844,6 +1925,7 @@
 /*	Check if the given shape can be handled by the engine. 
 	Since there are a number of requirements this is an extra method. */
 
+	/* BalloonEnginePlugin>>#checkCompressedShape:segments:leftFills:rightFills:lineWidths:lineFills:fillIndexList: */
 static sqInt
 checkCompressedShapesegmentsleftFillsrightFillslineWidthslineFillsfillIndexList(sqInt points, sqInt nSegments, sqInt leftFills, sqInt rightFills, sqInt lineWidths, sqInt lineFills, sqInt fillIndexList)
 {
@@ -1876,6 +1958,7 @@
 	region 
  */
 
+	/* BalloonEnginePlugin>>#checkedAddBezierToGET: */
 static sqInt
 checkedAddBezierToGET(sqInt bezier)
 {
@@ -1901,6 +1984,7 @@
 /*	Add the edge to the global edge table.
 	For known edge types, check if the edge intersects the visible region */
 
+	/* BalloonEnginePlugin>>#checkedAddEdgeToGET: */
 static sqInt
 checkedAddEdgeToGET(sqInt edge)
 {
@@ -1949,6 +2033,7 @@
 
 /*	Add the line to the global edge table if it intersects the clipping region */
 
+	/* BalloonEnginePlugin>>#checkedAddLineToGET: */
 static sqInt
 checkedAddLineToGET(sqInt line)
 {
@@ -1970,6 +2055,7 @@
 	addEdgeToGET(line);
 }
 
+	/* BalloonEnginePlugin>>#circleCosTable */
 static double *
 circleCosTable(void)
 {
@@ -1987,6 +2073,7 @@
 	return theTable;
 }
 
+	/* BalloonEnginePlugin>>#circleSinTable */
 static double *
 circleSinTable(void)
 {
@@ -2004,6 +2091,7 @@
 	return theTable;
 }
 
+	/* BalloonEnginePlugin>>#clampValue:max: */
 static sqInt
 clampValuemax(sqInt value, sqInt maxValue)
 {
@@ -2026,6 +2114,7 @@
 	previous scan line.
  */
 
+	/* BalloonEngineBase>>#clearSpanBuffer */
 static sqInt
 clearSpanBuffer(void)
 {
@@ -2048,72 +2137,84 @@
 	workBuffer[GWSpanEnd] = 0;
 }
 
+	/* BalloonEngineBase>>#clearSpanBufferGet */
 static sqInt
 clearSpanBufferGet(void)
 {
 	return workBuffer[GWClearSpanBuffer];
 }
 
+	/* BalloonEngineBase>>#clearSpanBufferPut: */
 static sqInt
 clearSpanBufferPut(sqInt value)
 {
 	return workBuffer[GWClearSpanBuffer] = value;
 }
 
+	/* BalloonEngineBase>>#clipMaxXGet */
 static sqInt
 clipMaxXGet(void)
 {
 	return workBuffer[GWClipMaxX];
 }
 
+	/* BalloonEngineBase>>#clipMaxXPut: */
 static sqInt
 clipMaxXPut(sqInt value)
 {
 	return workBuffer[GWClipMaxX] = value;
 }
 
+	/* BalloonEngineBase>>#clipMaxYGet */
 static sqInt
 clipMaxYGet(void)
 {
 	return workBuffer[GWClipMaxY];
 }
 
+	/* BalloonEngineBase>>#clipMaxYPut: */
 static sqInt
 clipMaxYPut(sqInt value)
 {
 	return workBuffer[GWClipMaxY] = value;
 }
 
+	/* BalloonEngineBase>>#clipMinXGet */
 static sqInt
 clipMinXGet(void)
 {
 	return workBuffer[GWClipMinX];
 }
 
+	/* BalloonEngineBase>>#clipMinXPut: */
 static sqInt
 clipMinXPut(sqInt value)
 {
 	return workBuffer[GWClipMinX] = value;
 }
 
+	/* BalloonEngineBase>>#clipMinYGet */
 static sqInt
 clipMinYGet(void)
 {
 	return workBuffer[GWClipMinY];
 }
 
+	/* BalloonEngineBase>>#clipMinYPut: */
 static sqInt
 clipMinYPut(sqInt value)
 {
 	return workBuffer[GWClipMinY] = value;
 }
 
+	/* BalloonEnginePlugin>>#colormapOf: */
 static int *
 colormapOf(sqInt bmFill)
 {
 	return (objBuffer + bmFill) + GBColormapOffset;
 }
 
+	/* BalloonEngineBase>>#colorTransform */
 static float *
 colorTransform(void)
 {
@@ -2123,6 +2224,7 @@
 
 /*	Split the bezier curve at 0.5. */
 
+	/* BalloonEnginePlugin>>#computeBezierSplitAtHalf: */
 static sqInt
 computeBezierSplitAtHalf(sqInt index)
 {
@@ -2193,6 +2295,7 @@
 	beziers monoton we must check for the resulting y values
 	to be *really* between the start and end value. */
 
+	/* BalloonEnginePlugin>>#computeBezier:splitAt: */
 static sqInt
 computeBeziersplitAt(sqInt index, double  param)
 {
@@ -2307,6 +2410,7 @@
 /*	Get both values from the two boundaries of the given bezier 
 	and compute the actual position/width of the line */
 
+	/* BalloonEnginePlugin>>#computeFinalWideBezierValues:width: */
 static sqInt
 computeFinalWideBezierValueswidth(sqInt bezier, sqInt lineWidth)
 {
@@ -2330,6 +2434,7 @@
 	}
 }
 
+	/* BalloonEngineBase>>#computeSqrt: */
 static sqInt
 computeSqrt(sqInt length2)
 {
@@ -2341,6 +2446,7 @@
 	}
 }
 
+	/* BalloonEngineBase>>#copyBitsFrom:to:at: */
 static sqInt
 copyBitsFromtoat(sqInt x0, sqInt x1, sqInt yValue)
 {
@@ -2358,6 +2464,7 @@
 
 /*	Create the global edge table */
 
+	/* BalloonEngineBase>>#createGlobalEdgeTable */
 static sqInt
 createGlobalEdgeTable(void)
 {
@@ -2428,48 +2535,56 @@
 	}
 }
 
+	/* BalloonEngineBase>>#currentYGet */
 static sqInt
 currentYGet(void)
 {
 	return workBuffer[GWCurrentY];
 }
 
+	/* BalloonEngineBase>>#currentYPut: */
 static sqInt
 currentYPut(sqInt value)
 {
 	return workBuffer[GWCurrentY] = value;
 }
 
+	/* BalloonEngineBase>>#currentZGet */
 static sqInt
 currentZGet(void)
 {
 	return workBuffer[GWCurrentZ];
 }
 
+	/* BalloonEngineBase>>#currentZPut: */
 static sqInt
 currentZPut(sqInt value)
 {
 	return workBuffer[GWCurrentZ] = value;
 }
 
+	/* BalloonEngineBase>>#destOffsetXGet */
 static sqInt
 destOffsetXGet(void)
 {
 	return workBuffer[GWDestOffsetX];
 }
 
+	/* BalloonEngineBase>>#destOffsetXPut: */
 static sqInt
 destOffsetXPut(sqInt value)
 {
 	return workBuffer[GWDestOffsetX] = value;
 }
 
+	/* BalloonEngineBase>>#destOffsetYGet */
 static sqInt
 destOffsetYGet(void)
 {
 	return workBuffer[GWDestOffsetY];
 }
 
+	/* BalloonEngineBase>>#destOffsetYPut: */
 static sqInt
 destOffsetYPut(sqInt value)
 {
@@ -2479,6 +2594,7 @@
 
 /*	Display the span buffer at the current scan line. */
 
+	/* BalloonEngineBase>>#displaySpanBufferAt: */
 static sqInt
 displaySpanBufferAt(sqInt y)
 {
@@ -2511,6 +2627,7 @@
 /*	Draw the given edge starting from leftX with the edge's fill.
 	Return the end value of the drawing operation. */
 
+	/* BalloonEngineBase>>#drawWideEdge:from: */
 static sqInt
 drawWideEdgefrom(sqInt edge, sqInt leftX)
 {
@@ -2558,54 +2675,63 @@
 	return rightX;
 }
 
+	/* BalloonEngineBase>>#edgeFillsInvalidate: */
 static sqInt
 edgeFillsInvalidate(sqInt edge)
 {
 	return objBuffer[edge + GEObjectType] = (((objBuffer[edge + GEObjectType]) & GEPrimitiveTypeMask) | GEEdgeFillsInvalid);
 }
 
+	/* BalloonEngineBase>>#edgeFillsValidate: */
 static sqInt
 edgeFillsValidate(sqInt edge)
 {
 	return objBuffer[edge + GEObjectType] = (((objBuffer[edge + GEObjectType]) & GEPrimitiveTypeMask) & ((unsigned int)~GEEdgeFillsInvalid));
 }
 
+	/* BalloonEngineBase>>#edgeLeftFillOf: */
 static sqInt
 edgeLeftFillOf(sqInt edge)
 {
 	return objBuffer[edge + GEFillIndexLeft];
 }
 
+	/* BalloonEngineBase>>#edgeLeftFillOf:put: */
 static sqInt
 edgeLeftFillOfput(sqInt edge, sqInt value)
 {
 	return objBuffer[edge + GEFillIndexLeft] = value;
 }
 
+	/* BalloonEngineBase>>#edgeNumLinesOf: */
 static sqInt
 edgeNumLinesOf(sqInt edge)
 {
 	return objBuffer[edge + GENumLines];
 }
 
+	/* BalloonEngineBase>>#edgeNumLinesOf:put: */
 static sqInt
 edgeNumLinesOfput(sqInt edge, sqInt value)
 {
 	return objBuffer[edge + GENumLines] = value;
 }
 
+	/* BalloonEngineBase>>#edgeRightFillOf: */
 static sqInt
 edgeRightFillOf(sqInt edge)
 {
 	return objBuffer[edge + GEFillIndexRight];
 }
 
+	/* BalloonEngineBase>>#edgeRightFillOf:put: */
 static sqInt
 edgeRightFillOfput(sqInt edge, sqInt value)
 {
 	return objBuffer[edge + GEFillIndexRight] = value;
 }
 
+	/* BalloonEngineBase>>#edgeTransform */
 static float *
 edgeTransform(void)
 {
@@ -2615,42 +2741,49 @@
 
 /*	Return the edge type (e.g., witout the wide edge flag) */
 
+	/* BalloonEngineBase>>#edgeTypeOf: */
 static sqInt
 edgeTypeOf(sqInt edge)
 {
 	return ((usqInt) ((objBuffer[edge + GEObjectType]) & GEPrimitiveTypeMask)) >> 1;
 }
 
+	/* BalloonEngineBase>>#edgeXValueOf: */
 static sqInt
 edgeXValueOf(sqInt edge)
 {
 	return objBuffer[edge + GEXValue];
 }
 
+	/* BalloonEngineBase>>#edgeXValueOf:put: */
 static sqInt
 edgeXValueOfput(sqInt edge, sqInt value)
 {
 	return objBuffer[edge + GEXValue] = value;
 }
 
+	/* BalloonEngineBase>>#edgeYValueOf: */
 static sqInt
 edgeYValueOf(sqInt edge)
 {
 	return objBuffer[edge + GEYValue];
 }
 
+	/* BalloonEngineBase>>#edgeYValueOf:put: */
 static sqInt
 edgeYValueOfput(sqInt edge, sqInt value)
 {
 	return objBuffer[edge + GEYValue] = value;
 }
 
+	/* BalloonEngineBase>>#edgeZValueOf: */
 static sqInt
 edgeZValueOf(sqInt edge)
 {
 	return objBuffer[edge + GEZValue];
 }
 
+	/* BalloonEngineBase>>#edgeZValueOf:put: */
 static sqInt
 edgeZValueOfput(sqInt edge, sqInt value)
 {
@@ -2661,6 +2794,7 @@
 /*	Ignore dispatch errors when translating to C
 	(since we have no entry point for #error in the VM proxy) */
 
+	/* BalloonEngineBase>>#errorWrongIndex */
 static sqInt
 errorWrongIndex(void)
 {
@@ -2673,6 +2807,7 @@
 	if you know exactly that this doesn't matter. Otherwise
 	use #accurateLengthOf:width: */
 
+	/* BalloonEngineBase>>#estimatedLengthOf:with: */
 static sqInt
 estimatedLengthOfwith(sqInt deltaX, sqInt deltaY)
 {
@@ -2702,6 +2837,7 @@
 
 /*	Fill the span buffer from leftX to rightX with the given fill. */
 
+	/* BalloonEngineBase>>#fillAllFrom:to: */
 static sqInt
 fillAllFromto(sqInt leftX, sqInt rightX)
 {
@@ -2793,12 +2929,14 @@
 	return 0;
 }
 
+	/* BalloonEnginePlugin>>#fillBitmapSpan */
 static sqInt
 fillBitmapSpan(void)
 {
 	return fillBitmapSpanfromtoat(workBuffer[GWLastExportedFill], workBuffer[GWLastExportedLeftX], workBuffer[GWLastExportedRightX], workBuffer[GWCurrentY]);
 }
 
+	/* BalloonEnginePlugin>>#fillBitmapSpanAA:from:to:at: */
 static sqInt
 fillBitmapSpanAAfromtoat(sqInt bmFill, sqInt leftX, sqInt rightX, sqInt yValue)
 {
@@ -3271,6 +3409,7 @@
 	directly. 
  */
 
+	/* BalloonEngineBase>>#fillBitmapSpan:from:to: */
 static sqInt
 fillBitmapSpanfromto(int *bits, sqInt leftX, sqInt rightX)
 {
@@ -3322,6 +3461,7 @@
 	}
 }
 
+	/* BalloonEnginePlugin>>#fillBitmapSpan:from:to:at: */
 static sqInt
 fillBitmapSpanfromtoat(sqInt bmFill, sqInt leftX, sqInt rightX, sqInt yValue)
 {
@@ -3500,6 +3640,7 @@
 	b) copy aaLevel pixels between the first and the last full pixel
 	c) copy all pixels that fall in the last full pixel */
 
+	/* BalloonEngineBase>>#fillColorSpanAA:x0:x1: */
 static sqInt
 fillColorSpanAAx0x1(sqInt pixelValue32, sqInt leftX, sqInt rightX)
 {
@@ -3567,6 +3708,7 @@
 	value. 
  */
 
+	/* BalloonEngineBase>>#fillColorSpan:from:to: */
 static sqInt
 fillColorSpanfromto(sqInt pixelValue32, sqInt leftX, sqInt rightX)
 {
@@ -3597,30 +3739,35 @@
 	}
 }
 
+	/* BalloonEnginePlugin>>#fillDirectionXOf: */
 static sqInt
 fillDirectionXOf(sqInt fill)
 {
 	return objBuffer[fill + GFDirectionX];
 }
 
+	/* BalloonEnginePlugin>>#fillDirectionXOf:put: */
 static sqInt
 fillDirectionXOfput(sqInt fill, sqInt value)
 {
 	return objBuffer[fill + GFDirectionX] = value;
 }
 
+	/* BalloonEnginePlugin>>#fillDirectionYOf: */
 static sqInt
 fillDirectionYOf(sqInt fill)
 {
 	return objBuffer[fill + GFDirectionY];
 }
 
+	/* BalloonEnginePlugin>>#fillDirectionYOf:put: */
 static sqInt
 fillDirectionYOfput(sqInt fill, sqInt value)
 {
 	return objBuffer[fill + GFDirectionY] = value;
 }
 
+	/* BalloonEnginePlugin>>#fillLinearGradient */
 static sqInt
 fillLinearGradient(void)
 {
@@ -3630,6 +3777,7 @@
 
 /*	This is the AA version of linear gradient filling. */
 
+	/* BalloonEnginePlugin>>#fillLinearGradientAA:ramp:ds:dsX:from:to: */
 static sqInt
 fillLinearGradientAArampdsdsXfromto(sqInt fill, int *ramp, sqInt deltaS, sqInt dsX, sqInt leftX, sqInt rightX)
 {
@@ -3731,6 +3879,7 @@
 
 /*	Draw a linear gradient fill. */
 
+	/* BalloonEnginePlugin>>#fillLinearGradient:from:to:at: */
 static sqInt
 fillLinearGradientfromtoat(sqInt fill, sqInt leftX, sqInt rightX, sqInt yValue)
 {
@@ -3841,120 +3990,140 @@
 	}
 }
 
+	/* BalloonEngineBase>>#fillMaxXGet */
 static sqInt
 fillMaxXGet(void)
 {
 	return workBuffer[GWFillMaxX];
 }
 
+	/* BalloonEngineBase>>#fillMaxXPut: */
 static sqInt
 fillMaxXPut(sqInt value)
 {
 	return workBuffer[GWFillMaxX] = value;
 }
 
+	/* BalloonEngineBase>>#fillMaxYGet */
 static sqInt
 fillMaxYGet(void)
 {
 	return workBuffer[GWFillMaxY];
 }
 
+	/* BalloonEngineBase>>#fillMaxYPut: */
 static sqInt
 fillMaxYPut(sqInt value)
 {
 	return workBuffer[GWFillMaxY] = value;
 }
 
+	/* BalloonEngineBase>>#fillMinXGet */
 static sqInt
 fillMinXGet(void)
 {
 	return workBuffer[GWFillMinX];
 }
 
+	/* BalloonEngineBase>>#fillMinXPut: */
 static sqInt
 fillMinXPut(sqInt value)
 {
 	return workBuffer[GWFillMinX] = value;
 }
 
+	/* BalloonEngineBase>>#fillMinYGet */
 static sqInt
 fillMinYGet(void)
 {
 	return workBuffer[GWFillMinY];
 }
 
+	/* BalloonEngineBase>>#fillMinYPut: */
 static sqInt
 fillMinYPut(sqInt value)
 {
 	return workBuffer[GWFillMinY] = value;
 }
 
+	/* BalloonEnginePlugin>>#fillNormalXOf: */
 static sqInt
 fillNormalXOf(sqInt fill)
 {
 	return objBuffer[fill + GFNormalX];
 }
 
+	/* BalloonEnginePlugin>>#fillNormalXOf:put: */
 static sqInt
 fillNormalXOfput(sqInt fill, sqInt value)
 {
 	return objBuffer[fill + GFNormalX] = value;
 }
 
+	/* BalloonEnginePlugin>>#fillNormalYOf: */
 static sqInt
 fillNormalYOf(sqInt fill)
 {
 	return objBuffer[fill + GFNormalY];
 }
 
+	/* BalloonEnginePlugin>>#fillNormalYOf:put: */
 static sqInt
 fillNormalYOfput(sqInt fill, sqInt value)
 {
 	return objBuffer[fill + GFNormalY] = value;
 }
 
+	/* BalloonEngineBase>>#fillOffsetXGet */
 static sqInt
 fillOffsetXGet(void)
 {
 	return workBuffer[GWFillOffsetX];
 }
 
+	/* BalloonEngineBase>>#fillOffsetXPut: */
 static sqInt
 fillOffsetXPut(sqInt value)
 {
 	return workBuffer[GWFillOffsetX] = value;
 }
 
+	/* BalloonEngineBase>>#fillOffsetYGet */
 static sqInt
 fillOffsetYGet(void)
 {
 	return workBuffer[GWFillOffsetY];
 }
 
+	/* BalloonEngineBase>>#fillOffsetYPut: */
 static sqInt
 fillOffsetYPut(sqInt value)
 {
 	return workBuffer[GWFillOffsetY] = value;
 }
 
+	/* BalloonEnginePlugin>>#fillOriginXOf: */
 static sqInt
 fillOriginXOf(sqInt fill)
 {
 	return objBuffer[fill + GFOriginX];
 }
 
+	/* BalloonEnginePlugin>>#fillOriginXOf:put: */
 static sqInt
 fillOriginXOfput(sqInt fill, sqInt value)
 {
 	return objBuffer[fill + GFOriginX] = value;
 }
 
+	/* BalloonEnginePlugin>>#fillOriginYOf: */
 static sqInt
 fillOriginYOf(sqInt fill)
 {
 	return objBuffer[fill + GFOriginY];
 }
 
+	/* BalloonEnginePlugin>>#fillOriginYOf:put: */
 static sqInt
 fillOriginYOfput(sqInt fill, sqInt value)
 {
@@ -3964,6 +4133,7 @@
 
 /*	Part 2a) Compute the decreasing part of the ramp */
 
+	/* BalloonEnginePlugin>>#fillRadialDecreasingAA:ramp:deltaST:dsX:dtX:from:to: */
 static sqInt
 fillRadialDecreasingAArampdeltaSTdsXdtXfromto(sqInt fill, int *ramp,  int *deltaST, sqInt dsX, sqInt dtX, sqInt leftX, sqInt rightX)
 {
@@ -4096,6 +4266,7 @@
 
 /*	Part 2a) Compute the decreasing part of the ramp */
 
+	/* BalloonEnginePlugin>>#fillRadialDecreasing:ramp:deltaST:dsX:dtX:from:to: */
 static sqInt
 fillRadialDecreasingrampdeltaSTdsXdtXfromto(sqInt fill, sqInt ramp, sqInt deltaST, sqInt dsX, sqInt dtX, sqInt leftX, sqInt rightX)
 {
@@ -4141,6 +4312,7 @@
 	return x;
 }
 
+	/* BalloonEnginePlugin>>#fillRadialGradient */
 static sqInt
 fillRadialGradient(void)
 {
@@ -4150,6 +4322,7 @@
 
 /*	Draw a radial gradient fill. */
 
+	/* BalloonEnginePlugin>>#fillRadialGradient:from:to:at: */
 static sqInt
 fillRadialGradientfromtoat(sqInt fill, sqInt leftX, sqInt rightX, sqInt yValue)
 {
@@ -4358,6 +4531,7 @@
 
 /*	Part 2b) Compute the increasing part of the ramp */
 
+	/* BalloonEnginePlugin>>#fillRadialIncreasingAA:ramp:deltaST:dsX:dtX:from:to: */
 static sqInt
 fillRadialIncreasingAArampdeltaSTdsXdtXfromto(sqInt fill, int *ramp,  int *deltaST, sqInt dsX, sqInt dtX, sqInt leftX, sqInt rightX)
 {
@@ -4499,6 +4673,7 @@
 
 /*	Part 2b) Compute the increasing part of the ramp */
 
+	/* BalloonEnginePlugin>>#fillRadialIncreasing:ramp:deltaST:dsX:dtX:from:to: */
 static sqInt
 fillRadialIncreasingrampdeltaSTdsXdtXfromto(sqInt fill, sqInt ramp, sqInt deltaST, sqInt dsX, sqInt dtX, sqInt leftX, sqInt rightX)
 {
@@ -4553,6 +4728,7 @@
 
 /*	Return true if fillEntry1 should be drawn before fillEntry2 */
 
+	/* BalloonEngineBase>>#fillSorts:before: */
 static sqInt
 fillSortsbefore(sqInt fillEntry1, sqInt fillEntry2)
 {
@@ -4573,6 +4749,7 @@
 	Clip before performing any operations. Return true if the fill must
 	be handled by some Smalltalk code. */
 
+	/* BalloonEngineBase>>#fillSpan:from:to: */
 static sqInt
 fillSpanfromto(unsigned int fill, sqInt leftX, sqInt rightX)
 {
@@ -4670,12 +4847,14 @@
 	return 0;
 }
 
+	/* BalloonEngineBase>>#fillTypeOf: */
 static sqInt
 fillTypeOf(sqInt fill)
 {
 	return ((usqInt) (((objBuffer[fill + GEObjectType]) & GEPrimitiveTypeMask) & GEPrimitiveFillMask)) >> 8;
 }
 
+	/* BalloonEngineBase>>#findNextAETEdgeFrom: */
 static sqInt
 findNextAETEdgeFrom(sqInt leftEdge)
 {
@@ -4700,6 +4879,7 @@
 	it to the AET
  */
 
+	/* BalloonEngineBase>>#findNextExternalEntryFromGET */
 static sqInt
 findNextExternalEntryFromGET(void)
 {
@@ -4760,6 +4940,7 @@
 	].
  */
 
+	/* BalloonEngineBase>>#findNextExternalFillFromAET */
 static sqInt
 findNextExternalFillFromAET(void)
 {
@@ -5004,6 +5185,7 @@
 	value. 
  */
 
+	/* BalloonEngineBase>>#findNextExternalUpdateFromAET */
 static sqInt
 findNextExternalUpdateFromAET(void)
 {
@@ -5056,6 +5238,7 @@
 	return 0;
 }
 
+	/* BalloonEngineBase>>#findStackFill:depth: */
 static sqInt
 findStackFilldepth(sqInt fillIndex, sqInt depth)
 {
@@ -5078,24 +5261,28 @@
 
 /*	Return true if processing is finished */
 
+	/* BalloonEngineBase>>#finishedProcessing */
 static sqInt
 finishedProcessing(void)
 {
 	return (workBuffer[GWState]) == GEStateCompleted;
 }
 
+	/* BalloonEngineBase>>#firstPointListGet */
 static sqInt
 firstPointListGet(void)
 {
 	return workBuffer[GWPointListFirst];
 }
 
+	/* BalloonEngineBase>>#firstPointListPut: */
 static sqInt
 firstPointListPut(sqInt value)
 {
 	return workBuffer[GWPointListFirst] = value;
 }
 
+	/* BalloonEngineBase>>#freeStackFillEntry */
 static sqInt
 freeStackFillEntry(void)
 {
@@ -5109,6 +5296,7 @@
 	it is loaded to check if it does really contain the module
 	we're thinking it contains. This is important! */
 
+	/* InterpreterPlugin>>#getModuleName */
 EXPORT(const char*)
 getModuleName(void)
 {
@@ -5118,6 +5306,7 @@
 
 /*	Return true if the edge at index i should sort before the edge at index j. */
 
+	/* BalloonEngineBase>>#getSorts:before: */
 static sqInt
 getSortsbefore(sqInt edge1, sqInt edge2)
 {
@@ -5134,78 +5323,91 @@
 	return diff < 0;
 }
 
+	/* BalloonEngineBase>>#getStartGet */
 static sqInt
 getStartGet(void)
 {
 	return workBuffer[GWGETStart];
 }
 
+	/* BalloonEngineBase>>#getStartPut: */
 static sqInt
 getStartPut(sqInt value)
 {
 	return workBuffer[GWGETStart] = value;
 }
 
+	/* BalloonEngineBase>>#getUsedGet */
 static sqInt
 getUsedGet(void)
 {
 	return workBuffer[GWGETUsed];
 }
 
+	/* BalloonEngineBase>>#getUsedPut: */
 static sqInt
 getUsedPut(sqInt value)
 {
 	return workBuffer[GWGETUsed] = value;
 }
 
+	/* BalloonEnginePlugin>>#gradientRampLengthOf: */
 static sqInt
 gradientRampLengthOf(sqInt fill)
 {
 	return objBuffer[fill + GFRampLength];
 }
 
+	/* BalloonEnginePlugin>>#gradientRampLengthOf:put: */
 static sqInt
 gradientRampLengthOfput(sqInt fill, sqInt value)
 {
 	return objBuffer[fill + GFRampLength] = value;
 }
 
+	/* BalloonEnginePlugin>>#gradientRampOf: */
 static int *
 gradientRampOf(sqInt fill)
 {
 	return (objBuffer + fill) + GFRampOffset;
 }
 
+	/* BalloonEngineBase>>#hasColorTransform */
 static sqInt
 hasColorTransform(void)
 {
 	return (workBuffer[GWHasColorTransform]) != 0;
 }
 
+	/* BalloonEngineBase>>#hasColorTransformGet */
 static sqInt
 hasColorTransformGet(void)
 {
 	return workBuffer[GWHasColorTransform];
 }
 
+	/* BalloonEngineBase>>#hasColorTransformPut: */
 static sqInt
 hasColorTransformPut(sqInt value)
 {
 	return workBuffer[GWHasColorTransform] = value;
 }
 
+	/* BalloonEngineBase>>#hasEdgeTransform */
 static sqInt
 hasEdgeTransform(void)
 {
 	return (workBuffer[GWHasEdgeTransform]) != 0;
 }
 
+	/* BalloonEngineBase>>#hasEdgeTransformGet */
 static sqInt
 hasEdgeTransformGet(void)
 {
 	return workBuffer[GWHasEdgeTransform];
 }
 
+	/* BalloonEngineBase>>#hasEdgeTransformPut: */
 static sqInt
 hasEdgeTransformPut(sqInt value)
 {
@@ -5215,6 +5417,7 @@
 
 /*	Make the fill style with the given index invisible */
 
+	/* BalloonEngineBase>>#hideFill:depth: */
 static sqInt
 hideFilldepth(sqInt fillIndex, sqInt depth)
 {
@@ -5266,6 +5469,7 @@
 	return 1;
 }
 
+	/* BalloonEngineBase>>#incrementPoint:by: */
 static sqInt
 incrementPointby(int *point, sqInt delta)
 {
@@ -5273,6 +5477,7 @@
 	point[1] = ((point[1]) + delta);
 }
 
+	/* BalloonEngineBase>>#incrementStat:by: */
 static sqInt
 incrementStatby(sqInt statIndex, sqInt value)
 {
@@ -5282,6 +5487,7 @@
 
 /*	Find insertion point for the given edge in the AET */
 
+	/* BalloonEngineBase>>#indexForInsertingIntoAET: */
 static sqInt
 indexForInsertingIntoAET(sqInt edge)
 {
@@ -5302,6 +5508,7 @@
 	return index;
 }
 
+	/* BalloonEngineBase>>#initColorTransform */
 static sqInt
 initColorTransform(void)
 {
@@ -5320,6 +5527,7 @@
 	workBuffer[GWHasColorTransform] = 0;
 }
 
+	/* BalloonEngineBase>>#initEdgeTransform */
 static sqInt
 initEdgeTransform(void)
 {
@@ -5336,6 +5544,7 @@
 	workBuffer[GWHasEdgeTransform] = 0;
 }
 
+	/* BalloonEngineBase>>#initialiseModule */
 EXPORT(sqInt)
 initialiseModule(void)
 {
@@ -5351,6 +5560,7 @@
  */
 /*	Make sure aaLevel is initialized */
 
+	/* BalloonEngineBase>>#initializeGETProcessing */
 static sqInt
 initializeGETProcessing(void)
 {
@@ -5402,6 +5612,7 @@
 	are both set.
  */
 
+	/* BalloonEngineBase>>#insertEdgeIntoAET: */
 static sqInt
 insertEdgeIntoAET(sqInt edge)
 {
@@ -5423,6 +5634,7 @@
 
 /*	Insert the given edge into the AET. */
 
+	/* BalloonEngineBase>>#insertToAET:beforeIndex: */
 static sqInt
 insertToAETbeforeIndex(sqInt edge, sqInt index)
 {
@@ -5443,12 +5655,14 @@
 	workBuffer[GWAETUsed] = ((workBuffer[GWAETUsed]) + 1);
 }
 
+	/* BalloonEnginePlugin>>#isBezier: */
 static sqInt
 isBezier(sqInt bezier)
 {
 	return (((objBuffer[bezier + GEObjectType]) & GEPrimitiveTypeMask) & GEPrimitiveWideMask) == GEPrimitiveBezier;
 }
 
+	/* BalloonEngineBase>>#isEdge: */
 static sqInt
 isEdge(sqInt edge)
 {
@@ -5461,12 +5675,14 @@
 	return (((objBuffer[edge + GEObjectType]) & GEPrimitiveTypeMask) & GEPrimitiveEdgeMask) != 0;
 }
 
+	/* BalloonEngineBase>>#isFillColor: */
 static sqInt
 isFillColor(sqInt fill)
 {
 	return (fill & 0xFF000000UL) != 0;
 }
 
+	/* BalloonEnginePlugin>>#isFillOkay: */
 static sqInt
 isFillOkay(sqInt fill)
 {
@@ -5478,6 +5694,7 @@
 	 || ((((objBuffer[fill + GEObjectType]) & GEPrimitiveTypeMask) & GEPrimitiveFillMask) != 0))));
 }
 
+	/* BalloonEngineBase>>#isFill: */
 static sqInt
 isFill(sqInt fill)
 {
@@ -5485,12 +5702,14 @@
 	 || ((((objBuffer[fill + GEObjectType]) & GEPrimitiveTypeMask) & GEPrimitiveFillMask) != 0);
 }
 
+	/* BalloonEnginePlugin>>#isLine: */
 static sqInt
 isLine(sqInt line)
 {
 	return (((objBuffer[line + GEObjectType]) & GEPrimitiveTypeMask) & GEPrimitiveWideMask) == GEPrimitiveLine;
 }
 
+	/* BalloonEngineBase>>#isObject: */
 static sqInt
 isObject(sqInt obj)
 {
@@ -5498,12 +5717,14 @@
 	 && (obj < objUsed);
 }
 
+	/* BalloonEngineBase>>#isRealFill: */
 static sqInt
 isRealFill(sqInt fill)
 {
 	return (((objBuffer[fill + GEObjectType]) & GEPrimitiveTypeMask) & GEPrimitiveFillMask) != 0;
 }
 
+	/* BalloonEngineBase>>#isStackEntry: */
 static sqInt
 isStackEntry(sqInt entry)
 {
@@ -5511,6 +5732,7 @@
 	 && (entry < (workBuffer[GWSize]));
 }
 
+	/* BalloonEngineBase>>#isStackIndex: */
 static sqInt
 isStackIndex(sqInt index)
 {
@@ -5518,6 +5740,7 @@
 	 && (index < ((workBuffer[GWSize]) - (workBuffer[GWBufferTop])));
 }
 
+	/* BalloonEnginePlugin>>#isWideBezier: */
 static sqInt
 isWideBezier(sqInt bezier)
 {
@@ -5525,6 +5748,7 @@
 	 && ((((objBuffer[bezier + GEObjectType]) & GEPrimitiveTypeMask) & GEPrimitiveWide) != 0);
 }
 
+	/* BalloonEnginePlugin>>#isWideLine: */
 static sqInt
 isWideLine(sqInt line)
 {
@@ -5532,150 +5756,175 @@
 	 && ((((objBuffer[line + GEObjectType]) & GEPrimitiveTypeMask) & GEPrimitiveWide) != 0);
 }
 
+	/* BalloonEngineBase>>#isWide: */
 static sqInt
 isWide(sqInt object)
 {
 	return (((objBuffer[object + GEObjectType]) & GEPrimitiveTypeMask) & GEPrimitiveWide) != 0;
 }
 
+	/* BalloonEngineBase>>#lastExportedEdgeGet */
 static sqInt
 lastExportedEdgeGet(void)
 {
 	return workBuffer[GWLastExportedEdge];
 }
 
+	/* BalloonEngineBase>>#lastExportedEdgePut: */
 static sqInt
 lastExportedEdgePut(sqInt value)
 {
 	return workBuffer[GWLastExportedEdge] = value;
 }
 
+	/* BalloonEngineBase>>#lastExportedFillGet */
 static sqInt
 lastExportedFillGet(void)
 {
 	return workBuffer[GWLastExportedFill];
 }
 
+	/* BalloonEngineBase>>#lastExportedFillPut: */
 static sqInt
 lastExportedFillPut(sqInt value)
 {
 	return workBuffer[GWLastExportedFill] = value;
 }
 
+	/* BalloonEngineBase>>#lastExportedLeftXGet */
 static sqInt
 lastExportedLeftXGet(void)
 {
 	return workBuffer[GWLastExportedLeftX];
 }
 
+	/* BalloonEngineBase>>#lastExportedLeftXPut: */
 static sqInt
 lastExportedLeftXPut(sqInt value)
 {
 	return workBuffer[GWLastExportedLeftX] = value;
 }
 
+	/* BalloonEngineBase>>#lastExportedRightXGet */
 static sqInt
 lastExportedRightXGet(void)
 {
 	return workBuffer[GWLastExportedRightX];
 }
 
+	/* BalloonEngineBase>>#lastExportedRightXPut: */
 static sqInt
 lastExportedRightXPut(sqInt value)
 {
 	return workBuffer[GWLastExportedRightX] = value;
 }
 
+	/* BalloonEnginePlugin>>#lineEndXOf: */
 static sqInt
 lineEndXOf(sqInt line)
 {
 	return objBuffer[line + GLEndX];
 }
 
+	/* BalloonEnginePlugin>>#lineEndXOf:put: */
 static sqInt
 lineEndXOfput(sqInt line, sqInt value)
 {
 	return objBuffer[line + GLEndX] = value;
 }
 
+	/* BalloonEnginePlugin>>#lineEndYOf: */
 static sqInt
 lineEndYOf(sqInt line)
 {
 	return objBuffer[line + GLEndY];
 }
 
+	/* BalloonEnginePlugin>>#lineEndYOf:put: */
 static sqInt
 lineEndYOfput(sqInt line, sqInt value)
 {
 	return objBuffer[line + GLEndY] = value;
 }
 
+	/* BalloonEnginePlugin>>#lineErrorAdjDownOf: */
 static sqInt
 lineErrorAdjDownOf(sqInt line)
 {
 	return objBuffer[line + GLErrorAdjDown];
 }
 
+	/* BalloonEnginePlugin>>#lineErrorAdjDownOf:put: */
 static sqInt
 lineErrorAdjDownOfput(sqInt line, sqInt value)
 {
 	return objBuffer[line + GLErrorAdjDown] = value;
 }
 
+	/* BalloonEnginePlugin>>#lineErrorAdjUpOf: */
 static sqInt
 lineErrorAdjUpOf(sqInt line)
 {
 	return objBuffer[line + GLErrorAdjUp];
 }
 
+	/* BalloonEnginePlugin>>#lineErrorAdjUpOf:put: */
 static sqInt
 lineErrorAdjUpOfput(sqInt line, sqInt value)
 {
 	return objBuffer[line + GLErrorAdjUp] = value;
 }
 
+	/* BalloonEnginePlugin>>#lineErrorOf: */
 static sqInt
 lineErrorOf(sqInt line)
 {
 	return objBuffer[line + GLError];
 }
 
+	/* BalloonEnginePlugin>>#lineErrorOf:put: */
 static sqInt
 lineErrorOfput(sqInt line, sqInt value)
 {
 	return objBuffer[line + GLError] = value;
 }
 
+	/* BalloonEnginePlugin>>#lineXDirectionOf: */
 static sqInt
 lineXDirectionOf(sqInt line)
 {
 	return objBuffer[line + GLXDirection];
 }
 

@@ Diff output truncated at 50000 characters. @@


More information about the Vm-dev mailing list