<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">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).<div class=""><br class=""></div><div class="">Great project you are doing!</div><div class=""><br class=""></div><div class="">- David</div><div class=""><br class=""><div class=""><div><blockquote type="cite" class=""><div class="">On Jun 21, 2016, at 6:28 PM, Russell Allen <a href="mailto:mail@russell-allen.com" class="">mail@russell-allen.com</a> [self-interest] <<a href="mailto:self-interest@yahoogroups.com" class="">self-interest@yahoogroups.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div id="ygrp-mlmsg" style="font-size: 13px; font-family: Arial, helvetica, clean, sans-serif; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); position: relative;" class=""><div id="ygrp-msg" style="line-height: 1.22em; z-index: 1;" class=""><div id="ygrp-text" style="line-height: 1.22em; font-family: Georgia;" class=""><div style="line-height: 1.22em;" class=""><blockquote type="cite" class="" style="margin: 0px 0px 0px 4px; line-height: 1.22em;"><div class="" style="line-height: 1.22em;"><br class="Apple-interchange-newline">On 22 Jun 2016, at 10:31 AM, Chris Double<span class="Apple-converted-space"> </span><a href="mailto:chris.double@double.co.nz" class="" style="line-height: 1.22em;">chris.double@double.co.nz</a><span class="Apple-converted-space"> </span>[self-interest] <<a href="mailto:self-interest@yahoogroups.com" class="" style="line-height: 1.22em;">self-interest@yahoogroups.com</a>> wrote:</div><div class="" style="line-height: 1.22em;"><div id="ygrp-mlmsg" class="" style="font-size: 13px; font-family: Arial, helvetica, clean, sans-serif; line-height: 1.22em; font-style: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><div id="ygrp-msg" class="" style="line-height: 1.22em;"><div id="ygrp-text" class="" style="line-height: 1.22em; font-family: Georgia;"><p class="" style="line-height: 1.22em; margin: 0px 0px 1em;">Using native code<br class="" style="line-height: 1.22em;">libraries is a bit painful but some of the work in the 'native' branch<br class="" style="line-height: 1.22em;">that Russell has been doing looks very promising.<br class="" style="line-height: 1.22em;"></p></div></div></div></div></blockquote></div>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.<div class="" style="line-height: 1.22em;"><br class="" style="line-height: 1.22em;"></div><div class="" style="line-height: 1.22em;">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).</div><div class="" style="line-height: 1.22em;"><br class="" style="line-height: 1.22em;"></div><div class="" style="line-height: 1.22em;">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.</div><div class="" style="line-height: 1.22em;"><br class="" style="line-height: 1.22em;"></div><div class="" style="line-height: 1.22em;">Russell</div><div class="" style="line-height: 1.22em;"><br class="" style="line-height: 1.22em;"></div><div class="" style="line-height: 1.22em;"><br class="" style="line-height: 1.22em;"></div><div style="line-height: 1.22em; margin: 0px 0px 1em;" class=""><br class="webkit-block-placeholder"></div></div><div style="line-height: 1.22em; color: rgb(255, 255, 255); height: 0px;" class=""></div></div></blockquote></div><br class=""></div></div></body></html>