Wow, Eliot, thanks for that so long waited function a lot! Threaded FFI is namelly a must for Squeak/Pharo to be used seriously everywhere where a connection to the other worlds is needed. Which is a common situation when working on "enterprise" level information systems.
Thanks again! Thanks also to all investors/donators who invested to this so important work! Janko S, Eliot Miranda piše: > Hi All, > > today I committed the threaded FFI plugin along with the threaded VM > and hope to be able to support people in doing threaded FFI work on the > x86 platforms really soon now (Esteban, amongst others, this means you > ;) ). But to put the image-level code that uses the new FFI plugin into > production the standard VM needs to be upgraded to not crash with the > ExternalFunction image changes the new threaded FFI plugin wants. The > main change is that ExternalFunction changes size, gaining a stackSize > inst var which is used to tell the FFI plugin how much stack spacer to > reserve for marshalling (its computed on first use). The best way for > this to happen is to start using the ThreadedFFIPlugin as the standard > plugin in the Interpreter VM. The ThreadedFFIPlugin overall is simpler > than the old FFI plugin (no assembler support code) and better (fully > reentrant). But for this to happen we may need to implement the > platform=specific parts of the ThreadedFFIPlugin (still entirely > Smalltalk code) for PowerPC and ARM (and perhaps others, SPARC??). I > understand what has to be done and I can explain it to anyone interested > in working on the problem, but I don't have any hardware with which I > can test the results so its pretty pointless my doing the work and > producing something inevitably broken. So are there people out there > who would be interested in doing the port to PPC and ARM? It means > fleshing out the classes > ThreadedARMFFIPlugin ThreadedFFICalloutStateForARM > ThreadedPPCBEFFIPlugin ThreadedFFICalloutStateForPPC > and having a solid understanding of how alloca works to do stack > allocation and how the ABIs on ARM and PPC pass registers. > > here's hoping there are a few good low-level people who would be interested. > Let me know. > -- > best, > Eliot > -- Janko Mivšek Aida/Web Smalltalk Web Application Server http://www.aidaweb.si
