<br><br><div class="gmail_quote">On Thu, Jul 21, 2011 at 4:57 PM, Igor Stasenko <span dir="ltr">&lt;<a href="mailto:siguctua@gmail.com">siguctua@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div><div></div><div class="h5">On 22 July 2011 02:34, Eliot Miranda &lt;<a href="mailto:eliot.miranda@gmail.com">eliot.miranda@gmail.com</a>&gt; wrote:<br>
&gt; Hi All,<br>
&gt;     today I committed the threaded FFI plugin along with the threaded VM and<br>
&gt; hope to be able to support people in doing threaded FFI work on the x86<br>
&gt; platforms really soon now (Esteban, amongst others, this means you ;) ).<br>
&gt;  But to put the image-level code that uses the new FFI plugin into<br>
&gt; production the standard VM needs to be upgraded to not crash with the<br>
&gt; ExternalFunction image changes the new threaded FFI plugin wants.  The main<br>
&gt; change is that ExternalFunction changes size, gaining a stackSize inst var<br>
&gt; which is used to tell the FFI plugin how much stack spacer to reserve for<br>
&gt; marshalling (its computed on first use).  The best way for this to happen is<br>
&gt; to start using the ThreadedFFIPlugin as the standard plugin in the<br>
&gt; Interpreter VM. The ThreadedFFIPlugin overall is simpler than the old FFI<br>
&gt; plugin (no assembler support code) and better (fully reentrant).  But for<br>
&gt; this to happen we may need to implement the platform=specific parts of<br>
&gt; the ThreadedFFIPlugin (still entirely Smalltalk code) for PowerPC and ARM<br>
&gt; (and perhaps others, SPARC??).  I understand what has to be done and I can<br>
&gt; explain it to anyone interested in working on the problem, but I don&#39;t have<br>
&gt; any hardware with which I can test the results so its pretty pointless my<br>
&gt; doing the work and producing something inevitably broken.  So are there<br>
&gt; people out there who would be interested in doing the port to PPC and ARM?<br>
&gt;  It means fleshing out the classes<br>
&gt;     ThreadedARMFFIPlugin ThreadedFFICalloutStateForARM<br>
&gt;     ThreadedPPCBEFFIPlugin ThreadedFFICalloutStateForPPC<br>
&gt; and having a solid understanding of how alloca works to do stack allocation<br>
&gt; and how the ABIs on ARM and PPC pass registers.<br>
&gt; here&#39;s hoping there are a few good low-level people who would be interested.<br>
&gt; Let me know.<br>
<br>
</div></div>I wonder if you find anyone today using these archs, not saying using<br>
squeak/pharo on them + knowing low-level details + wanting to help :)<br></blockquote><div><br></div><div>Right, chances are thin.  But then if no one is interested then the work doesn&#39;t need to be done.  Bert, you mentioned the other day that PPC was still relevant for etoys.  But am I right in thinking etoys never uses the FFI?</div>
<div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
&gt; --<br>
&gt; best,<br>
&gt; Eliot<br>
&gt;<br>
<font color="#888888"><br>
--<br>
Best regards,<br>
Igor Stasenko AKA sig.<br>
<br>
</font></blockquote></div><br><br clear="all"><br>-- <br>best,<div>Eliot</div><br>