I think someone else has mentioned that we did a very nice (IMO) assembler and disassember for Klein. I believe it included the x86 architecture. It tested itself against the Unix assembler and found bugs in the Unix assembler for every platform we tried. (SPARC and x86 IIRC).

Great project you are doing!

- David

On Jun 21, 2016, at 6:28 PM, Russell Allen mail@russell-allen.com [self-interest] <self-interest@yahoogroups.com> wrote:

On 22 Jun 2016, at 10:31 AM, Chris Double chris.double@double.co.nz [self-interest] <self-interest@yahoogroups.com> wrote:

Using native code
libraries is a bit painful but some of the work in the 'native' branch
that Russell has been doing looks very promising.

I think I have the core primitives for working with native machine code in reasonable shape but have been stalled for a bit on what to do with callbacks into the VM from other threads.

If anyone feels like helping, on the Self side, at the moment I just call out to a c compiler or assembler. It would be nice if there was a pure Self x86 assembler, or even a simple compiler from a C level language (which would help retargeting if we do that later).

I think this approach stands a good chance of being able to move most of the primitives dealing with integration (sockets, xlib etc) into the Self world and out of the C++ code, without requiring the native-code maker to know too much about the VM’s internals.