<br><br><div class="gmail_quote">On Fri, Jul 22, 2011 at 9:08 AM, Ricardo Moran <span dir="ltr">&lt;<a href="mailto:richi.moran@gmail.com">richi.moran@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;">
Yes, indeed. Right now, for most use cases we use the SerialPort class, but we still have some FFI code for other stuff hanging around. I plan to write it as a plugin as soon as I have the time.</blockquote><div><br></div>
<div>But getting the FFI working on ARM and/or PPC is more effective than writing yet another plugin, no?  We can always add security to the FFI (essentially some way of disabling internal calls within the FFI plugin, e.g. based on cryptographic keys to enable it, or whatever).  So I really do appeal to people to help me put the effort in here.  I can&#39;t justify working on the FFI on ARM or PPC in my Cadence Newspeak gig; we&#39;re entirely on x86.  I /can/ work on the threaded FFI as we need it at Cadence, just as many other people need it.  But for me to move the threaded FFI ahead it needs to be on all platforms and that means I need help on the platforms I can&#39;t justify working on.</div>
<div><br></div><div>So folks, please give serious consideration to putting effort into something that may be a little harder at first but will yield major benefits slightly later.  Let&#39;s defer gratification :)</div><div>
<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div></div><div>Cheers,</div>

<div>RIcho<div><div></div><div class="h5"><br><br><div class="gmail_quote">On Fri, Jul 22, 2011 at 10:37 AM, Bert Freudenberg <span dir="ltr">&lt;<a href="mailto:bert@freudenbergs.de" target="_blank">bert@freudenbergs.de</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div style="word-wrap:break-word">It&#39;s not part of Etoys yet. If its low-level interface indeed requires FFI, then that interface would have to be rewritten as plugin for Etoys to include it.<div><br></div><font color="#888888"><div>


<span style="font-size:12px">- Bert -</span></div></font><div><div></div><div><div><font size="3"><span style="font-size:12px"><br></span></font><div><div>On 22.07.2011, at 14:55, karl ramberg wrote:</div><br>
<blockquote type="cite">
<div>What about the Physical Etoys project ?</div>
<div><a href="http://tecnodacta.com.ar/gira/projects/physical-etoys/" target="_blank">http://tecnodacta.com.ar/gira/projects/physical-etoys/</a></div>
<div> </div>
<div>Karl<br><br></div>
<div class="gmail_quote">On Fri, Jul 22, 2011 at 2:20 PM, Bert Freudenberg <span dir="ltr">&lt;<a href="mailto:bert@freudenbergs.de" target="_blank">bert@freudenbergs.de</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="padding-left:1ex;margin:0px 0px 0px 0.8ex;border-left:#ccc 1px solid">
<div>
<div></div>
<div><br>On 22.07.2011, at 02:10, Eliot Miranda wrote:<br><br>&gt;<br>&gt;<br>&gt; On Thu, Jul 21, 2011 at 4:57 PM, Igor Stasenko &lt;<a href="mailto:siguctua@gmail.com" target="_blank">siguctua@gmail.com</a>&gt; wrote:<br>


&gt; On 22 July 2011 02:34, Eliot Miranda &lt;<a href="mailto:eliot.miranda@gmail.com" target="_blank">eliot.miranda@gmail.com</a>&gt; wrote:<br>
&gt; &gt; Hi All,<br>&gt; &gt;     today I committed the threaded FFI plugin along with the threaded VM and<br>&gt; &gt; hope to be able to support people in doing threaded FFI work on the x86<br>&gt; &gt; platforms really soon now (Esteban, amongst others, this means you ;) ).<br>



&gt; &gt;  But to put the image-level code that uses the new FFI plugin into<br>&gt; &gt; production the standard VM needs to be upgraded to not crash with the<br>&gt; &gt; ExternalFunction image changes the new threaded FFI plugin wants.  The main<br>



&gt; &gt; change is that ExternalFunction changes size, gaining a stackSize inst var<br>&gt; &gt; which is used to tell the FFI plugin how much stack spacer to reserve for<br>&gt; &gt; marshalling (its computed on first use).  The best way for this to happen is<br>



&gt; &gt; to start using the ThreadedFFIPlugin as the standard plugin in the<br>&gt; &gt; Interpreter VM. The ThreadedFFIPlugin overall is simpler than the old FFI<br>&gt; &gt; plugin (no assembler support code) and better (fully reentrant).  But for<br>



&gt; &gt; this to happen we may need to implement the platform=specific parts of<br>&gt; &gt; the ThreadedFFIPlugin (still entirely Smalltalk code) for PowerPC and ARM<br>&gt; &gt; (and perhaps others, SPARC??).  I understand what has to be done and I can<br>



&gt; &gt; explain it to anyone interested in working on the problem, but I don&#39;t have<br>&gt; &gt; any hardware with which I can test the results so its pretty pointless my<br>&gt; &gt; doing the work and producing something inevitably broken.  So are there<br>



&gt; &gt; people out there who would be interested in doing the port to PPC and ARM?<br>&gt; &gt;  It means fleshing out the classes<br>&gt; &gt;     ThreadedARMFFIPlugin ThreadedFFICalloutStateForARM<br>&gt; &gt;     ThreadedPPCBEFFIPlugin ThreadedFFICalloutStateForPPC<br>



&gt; &gt; and having a solid understanding of how alloca works to do stack allocation<br>&gt; &gt; and how the ABIs on ARM and PPC pass registers.<br>&gt; &gt; here&#39;s hoping there are a few good low-level people who would be interested.<br>



&gt; &gt; Let me know.<br>&gt;<br>&gt; I wonder if you find anyone today using these archs, not saying using<br>&gt; squeak/pharo on them + knowing low-level details + wanting to help :)<br>&gt;<br>&gt; 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?<br>



<br></div></div>Right. Etoys should run on both ARM and PPC, but it does not use FFI.<br><font color="#888888"><br>- Bert -<br><br><br><br></font></blockquote></div><br>
<br></blockquote></div><div><span style="border-collapse:separate;border-spacing:0px 0px;color:rgb(0, 0, 0);font-family:Lucida Grande;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:auto;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><font face="Helvetica"><span style="font-size:medium"><br>


</span></font></span>
</div>
<br></div></div></div></div><br><br>
<br></blockquote></div><br></div></div></div>
<br><br>
<br></blockquote></div><br><br clear="all"><br>-- <br>best,<div>Eliot</div><br>