On 22 July 2011 02:34, Eliot Miranda <[email protected]> wrote: > 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.
I wonder if you find anyone today using these archs, not saying using squeak/pharo on them + knowing low-level details + wanting to help :) > -- > best, > Eliot > -- Best regards, Igor Stasenko AKA sig.
