<div dir="ltr">Hi Javier,<br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Mar 21, 2017 at 6:34 AM, Javier Pimás <span dir="ltr"><<a href="mailto:elpochodelagente@gmail.com" target="_blank">elpochodelagente@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"> <br><div dir="ltr">Wow! it is really encouraging to see that you kept the candle burning, and the interest of the community. We have to integrate both what you and we did into one. <div><br></div><div>Our approach started very recently and for now has only been focused in getting the VM compile and link with the upstream sources, to be able to run with current versions of pharo, without touching upstream files.</div><div> In case any modifications are needed they can either be asked to integrate upstream o either be generated automatically against current sources via scripts. I believe this is the right way to do it, otherwise the code gets rotten really soon, and this is what we had started to do.<br></div><div><br></div><div>I see that we both took the same direction about using musl. Using parts of libc from system directories was a pain. We are able to cross-compile from 64-bits systems: ubuntu and osx.</div><div><br></div><div>I agree that having something like NativeBoost would be nice to be able to code all things that require assembly, specially io. It isn't a huge difference for now at it replaces a plugin that just executes in and out x86 instructions, but it'd make a nice plus to have available</div></div></blockquote><div><br></div><div>See the work Clément and I have done on inline primitives and Ronie Salgado's work on Lowcode.  Here we extend the byte code set with low-level in-line primitives, but they are still cross-platform.  These primitives are unsafe; they do no checking, and expect particular kinds of operands.  The JIT translates them into the relevant machine instructions.</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Esteban: when you say "to make the memory executable" you forget this is squeaknos :). I mean, maybe we only need the plugin to work in squeaknos platform, not the others, would that make the task easier?<br></div></div></blockquote><div><br></div><div>:-)</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Tim: this is already architecture specific code, which already exists but at VM level; I would rather have it coded in Smalltalk.<br></div></div></blockquote><div><br></div><div>Ronie's work is probably the most relevant.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><br></div><div>Eliot: does UFFI allow execution of arbitrary assembly?</div></div></blockquote><div><br></div><div>No. But we have support for x86, x86_64 & ARM call-outs and callbacks.</div><div><br></div><div><br></div><div>Can you talk about things like the implementation of page fault interrupt handlers, etc?</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Cheers!<br></div><div>Pocho</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Mar 20, 2017 at 6:57 PM, tim Rowledge <span dir="ltr"><<a href="mailto:tim@rowledge.org" target="_blank">tim@rowledge.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
<br>
> On 20-03-2017, at 2:48 PM, Eliot Miranda <<a href="mailto:eliot.miranda@gmail.com" target="_blank">eliot.miranda@gmail.com</a>> wrote:<br>
><br>
>> Hi Jan,<br>
<span>>><br>
>> On Sun, Mar 19, 2017 at 1:46 PM, jan.struz <<a href="mailto:public%2Bpharo@struz.cz" target="_blank">public+pharo@struz.cz</a>> wrote:<br>
>> Hi Stef,<br>
>> what I want, is NativeBoost for Pharo 5+. Because we could do this:<br>
>><br>
><br>
</span>> Can you not use the new UnifiedFFI which uses the ThreadedFFIPlugin at the bottom level?<br>
><br>
<br>
Not to mention that native boost excludes ARM cpus. Which are the most numerous by quite a large factor...<br>
<br>
tim<br>
--<br>
tim Rowledge; <a href="mailto:tim@rowledge.org" target="_blank">tim@rowledge.org</a>; <a href="http://www.rowledge.org/tim" rel="noreferrer" target="_blank">http://www.rowledge.org/tim</a><br>
Klingon Code Warrior:- 2) "My program has just dumped Stova Core!"<br>
<br>
<br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="m_5991153379893544218gmail_signature" data-smartmail="gmail_signature"><div dir="ltr">Javier Pimás<br>Ciudad de Buenos Aires</div></div>
</div>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><span style="font-size:small;border-collapse:separate"><div>_,,,^..^,,,_<br></div><div>best, Eliot</div></span></div></div></div>
</div></div>