[Vm-dev] [commit][3623] Get sqFFI.
h to not declare the old FFI API if ThreadedFFIPlugin is defined as
commits at squeakvm.org
commits at squeakvm.org
Sun Feb 21 04:23:36 UTC 2016
Revision: 3623
Author: eliot
Date: 2016-02-20 20:23:34 -0800 (Sat, 20 Feb 2016)
Log Message:
-----------
Get sqFFI.h to not declare the old FFI API if ThreadedFFIPlugin is defined as
non-zero.
Modified Paths:
--------------
trunk/platforms/Cross/plugins/SqueakFFIPrims/sqFFI.h
Property Changed:
----------------
trunk/platforms/Cross/plugins/sqPluginsSCCSVersion.h
Modified: trunk/platforms/Cross/plugins/SqueakFFIPrims/sqFFI.h
===================================================================
--- trunk/platforms/Cross/plugins/SqueakFFIPrims/sqFFI.h 2016-02-21 04:01:41 UTC (rev 3622)
+++ trunk/platforms/Cross/plugins/SqueakFFIPrims/sqFFI.h 2016-02-21 04:23:34 UTC (rev 3623)
@@ -14,6 +14,11 @@
#ifndef SQ_FFI_H
#define SQ_FFI_H
+/* What follows is the old FFI API when spread across several marshalling files.
+ * With the ThreadedFFIPlugin all marshalling is in a single generated plugin
+ * and so the following API is not wanted.
+ */
+#if !ThreadedFFIPlugin
/* Calling conventions */
#define FFICallTypeCDecl 0
#define FFICallTypeApi 1
@@ -128,27 +133,32 @@
/* return the float value from a previous call */
double ffiReturnFloatValue(void);
+#endif /* !ThreadedFFIPlugin */
/* Set the log file name for logging call-outs */
int ffiLogFileNameOfLength(void *nameIndex, int nameLength);
int ffiLogCallOfLength(void *nameIndex, int nameLength);
-/* The following are for creating, manipulating, and detroying "manual surfaces".
- These are surfaces that are managed by Squeak code, which has manual control
- over the memory location where the image data is stored (the pointer used may
- be obtained via FFI calls, or other means).
-
- Upon creation, no memory is allocated for the surface. Squeak code is
- responsible for passing in a pointer to the memory to use. It is OK to set
- the pointer to different values, or to NULL. If the pointer is NULL, then
- BitBlt calls to ioLockSurface() will fail.
-
- createManualFunction() returns a non-negative surface ID if successful, and
- -1 otherwise. The other return true for success, and false for failure.
-*/
+/* The following are for creating, manipulating, and destroying
+ * "manual surfaces". These are surfaces that are managed by Squeak code,
+ * which has manual control over the memory location where the image data is
+ * stored (the pointer used may be obtained via FFI calls, or other means).
+ *
+ * Upon creation, no memory is allocated for the surface. Squeak code is
+ * responsible for passing in a pointer to the memory to use. It is OK to set
+ * the pointer to different values, or to NULL. If the pointer is NULL, then
+ * BitBlt calls to ioLockSurface() will fail.
+ *
+ * createManualFunction() returns a non-negative surface ID if successful, and
+ * -1 otherwise. The other return true for success, and false for failure.
+ */
#include "../SurfacePlugin/SurfacePlugin.h"
-void initManualSurfaceFunctionPolongers(fn_ioRegisterSurface reg, fn_ioUnregisterSurface unreg, fn_ioFindSurface find);
-long createManualSurface(long width, long height, long rowPitch, long depth, long isMSB);
+
+void initSurfacePluginFunctionPointers();
+void initManualSurfaceFunctionPointers
+ (fn_ioRegisterSurface, fn_ioUnregisterSurface, fn_ioFindSurface);
+long createManualSurface
+ (long width, long height, long rowPitch, long depth, long isMSB);
long destroyManualSurface(long surfaceID);
long setManualSurfacePointer(long surfaceID, void* ptr);
Property changes on: trunk/platforms/Cross/plugins/sqPluginsSCCSVersion.h
___________________________________________________________________
Modified: checkindate
- Sat Feb 20 20:00:57 PST 2016
+ Sat Feb 20 20:22:47 PST 2016
More information about the Vm-dev
mailing list