Great! Thanks, Eliot!

That could change a lot of things.

Norbert

Am 22.07.2011 um 01:34 schrieb Eliot Miranda:

> 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
> 


Reply via email to