[squeak-dev] Setting Memory pointer for bitmap object.. is it possible without plugin?

Marcel Taeumel marcel.taeumel at hpi.de
Fri Mar 31 07:49:00 UTC 2023


Hi L --

> The real question is about setting a pointer to the memory used by a Bitmap object.

I would not do that, I don't think it is possible as each project has its own address space. Virtual memory and so on... You cannot simply share pointers between processes. Thus, allocate some inter-process memory and copy initial data (from any Squeak object memory) to there. Then read/write it there.

Best,
Marcel
Am 31.03.2023 00:30:05 schrieb LawsonEnglish <lenglish5 at cox.net>:
Thanks. I’ve used FFI before, and have several references to shared memory on the Mac (other OS’s have similar facilities). The real question is about setting a pointer to the memory used by a Bitmap object.

Getting FFI to work with the latest version of Mac OS X is often quite painful due to all the security-related hoops you must jump through to give  permission to an app to access libraries outside the app’s own set. I *think* that Apple’s built in shared memory API won’t be as covoluted to use via FFI as other libraries are, but haven’t tested it on Mac OS X 13.x (Ventura).

The real question is about setting the pointer that a Bitmap (in two or more images) uses. ELiot kindly offered to mentor me through the process of writing plugins. The real question is: am I up for that?

L



Hi --

I would use SqueakFFI and through that interface a system library for memory shared between processes. Maybe through memory-mapped files or similar...

[URLS deleted to satisfy my malfunctioning ISP mailing system]

Once you have your ExternalAddress for that shared memory region, you can start reading and writing bytes from multiple Squeak images. Watch out for synchronization/locking etc.

Best,
Marcel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20230331/ca40c4cd/attachment.html>


More information about the Squeak-dev mailing list