[Vm-dev] Re: [squeak-dev] help needed with the new FFI plugin...
siguctua at gmail.com
Thu Jul 21 23:57:45 UTC 2011
On 22 July 2011 02:34, Eliot Miranda <eliot.miranda at gmail.com> 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 :)
Igor Stasenko AKA sig.
More information about the Vm-dev