On Tue, Feb 8, 2011 at 4:16 AM, Schwab,Wilhelm K <[hidden email]> wrote:
I have been under the impression that it has never worked on Linux - it would be great to be wrong on that. Does anyone have Alien on Linux waiting for someone to try it?
I would be very surprised if it didn't work. We at least use the data manipulation side of things routinely at Teleplace.
One thing slowing my search for FFI/Alien improvements has been that I was initially dependent on some vm modifications that I made. Some off-line correspondence with Dave Lewis and the benefit of some time might have yielded a solution that will let me return to stock vms.
I need to integrate my new callback support and the ReentrantFFIPlugin into the standard interpreter as soon as possible. The ReentrantFFIPlugin provides compatibility with the old squeak FFI plugin but also allows aliens to be passed as arguments, at least to the extent of passing Alien Callbacks. This means its possible to discard the Alien callout support and use the FFI instead (but just to reiterate to keep the Alien data representation and callback facilities). The project for the next few weekends has to be harmonising the primitive set and functionality of Cog and the standard interpreter now that the StackToRegisterMappingCogit looks complete.
FFI has generally worked for me. I am doing a horrible job of handling double arrays, but I am at least able to use them. My "solution" makes assumptions about byte order and I have declare double* as void*.
There was mention of extending FFI with callbacks. Given that capability, the only thing missing would then to be make calls on OS threads to avoid blocking the image (but blocking the calling Smalltalk Process for the duration of the call).
I have this in prototype and want to release soon. But there is too much else going on right now. Patience please.