On Tue, Nov 25, 2014 at 5:06 AM, Torsten Bergmann <[hidden email]> wrote: Please enlighten me as well. I also do not yet understand the idea of this unification layer. "Unification layer" is just a name. IMO Ronie is doing something much more useful. He is architecting the marshalling layer of the FFI so that it can - be portable - work in both the Cog JIT and the Interpreter This is effectively an abstract instruction set for executing low-level machine intsructions. It can be used for FFI call-out marshalling, but it can also be used for low-level code generation, and we are using it in Sista. COnsequently Ronie's "Low code" as it is properly called can be an integral component to both a high-quality FFI and a fast VM. For me this is a useful substrate for an FFI that can be high quality. But note that it is only one component. The other components are - an image-level ABI compiler whose job it is to generate the correct marshalling code for different platforms. The FFI for processors such as IA64/x86-64 is complex, and a compiler is the only performant way to generate correct marshalling code - callback machinery. I have already designed and implemented this in the context of Alien. The architecture is portable; it can function correctly on x86-64 and ARM, not just x86.
This is simply false. The FFI was in active use at Qwaq where Cog was first implemented. I have continued to maintain and enhance it, reimplementing it so that it is a pure Smalltalk plugin with no assembler support code, so that it is reentrant. Recently Doug McPherson has implemented the ARM version alongside my original x86 version. 2. Alien -> should provide the callbacks, hard to find a predefined package/VM combination Every Cog VM supports Alien callbacks. The Alien package Alien-eem.24 at http://www.squeaksource.com/Alien "jsut works", at least in Squeak. Try it. 3. NativeBoost was supposed to be the better one, was based on AsmJit and replace 1. and 2. I disagree. NativeBoost has not been designed with portability in mind, nor has it been designed with interpretive VMs in mind. Further Igor made no attempt to work with me in providing the support he needs from Cog to integrate NativeBoost when I visited Rmod early this year. According to my knowledge it was the goal to continue with NB, integrate it (which is done) We have a functional FFI at the moment, FFI + Alien for callbacks. This is in industrial use, both at Terf (nee Qwaq) and Cadence. We have NativeBoost that does not work on ARM. We have Ronie's work on low code that fits both with a well-architected FFI and with Sista. I am frustrated that there is no coherence in our work here. I have a clear understanding of what architecture can work, a clear vision, and yet other than Ronie, all I see is FUD ("Alien doesn't work", "FFI doesn't work", "Alien callbacks don't work"; all false). I wish this wasn't the case. I do not have time right now to work on all of Spur, Spur 64, Sista and find time to architect the FFI. But I know how this stuff works (I've implemented what works now) and as the leads VM architect isn't it right that the community try and work with me rather than without me?
best,
Eliot |
Well, FFI is what is used for quite a lot of wrappers. And I haven't been using NB much even if I tried a thing or two. What was interesting was Ronie's Swig project. Maybe the unified thing will be providing that capability too. It is true that it is hard to figure out where things are going with all the new 64bit and ARM and stuff. I have been collecting/reading/trying out things but it takes a motivated person to walk the path here. Phil Le 25 nov. 2014 19:37, "Eliot Miranda" <[hidden email]> a écrit :
|
In reply to this post by Eliot Miranda-2
yep, I’m aware and I was trying to have time to bring those changes into Pharo. Hopefully soon.
it works. We have ConfigurationOfOldAlien that loads all required (Is a bad name I choose because there was your sources and a fork from Luc and there were not in sync, so I took your sources and made a Configuration for them :P)
Honestly, I’m quite frustrated too. And I cannot agree with you more. But hopefully we will start to work on this problem and remove all discordances soon (I know in all other VM aspects we already did it and now we work aligned, so we can do this for FFI too… in fact last month I wanted to work on it but then other work became more urgent). Esteban
|
Hi Esteban,
On Tue, Nov 25, 2014 at 11:30 PM, Esteban Lorenzano <[hidden email]> wrote:
thanks, Esteban. I find this extremely reassuring.
best,
Eliot |
Free forum by Nabble | Edit this page |