Great and very appreaciated news!<br>Out of curiosity, why have you decided to translate Neko to LLVM instead of creating a new target for haXe?<br>This project is awesome ;)<br><br>Franco.<br><br><div class="gmail_quote">
On Wed, May 19, 2010 at 3:06 PM, Asger Ottar Alstrup <span dir="ltr"><<a href="mailto:asger@area9.dk">asger@area9.dk</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Hi,<br>
<br>
Vadim Atlygin has been working on a LLVM backend for Neko, and we are<br>
happy to announce that "Hello world" works now.<br>
<br>
For LLVM readers, Neko is a tight virtual machine, which is primarily<br>
targetted by haXe. haXe is a statically typed programming language<br>
that has targets to JavaScript, Flash, as well as Neko. Both haXe and<br>
Neko are developed by Nicolas Cannasse, with contributions from many<br>
others. You can read more about haXe and Neko at <a href="http://www.haxe.org" target="_blank">www.haxe.org</a> and<br>
<a href="http://www.nekovm.org" target="_blank">www.nekovm.org</a>.<br>
<br>
The current neko vm has a x86 JIT. The aim of this work is to get the<br>
Neko VM to run fast on 64 bit machines, and hopefully improve<br>
performance on 32 bit targets as well.<br>
<br>
You can get the code from this repository:<br>
<a href="http://github.com/vava/neko_llvm_jit" target="_blank">http://github.com/vava/neko_llvm_jit</a><br>
<br>
The work is still incomplete - only the first 10 opcodes out of 66 are<br>
implemented, but there is enough to get "Hello world" and simple<br>
arithmetic to work. The current port is still slower than the existing<br>
VM, but that is expected. The next steps are to implement the rest of<br>
the opcodes. At first, we will just plug them up to use c callbacks,<br>
and then as a next step, convert them to real LLVM bytecodes later.<br>
Until we have real LLVM produced for the opcodes, it will be slower<br>
than the original VM.<br>
<br>
If you want to help out, you can contribute test cases for opcodes,<br>
implement c callback implementations for some of the opcodes, or even<br>
better optimized code for opcodes. We propose to use the Neko mailing<br>
list for discussion on this.<br>
<br>
Regards,<br>
Vadim Atlygin & Asger Ottar Alstrup<br>
<font color="#888888"><br>
--<br>
Neko : One VM to run them all<br>
(<a href="http://nekovm.org" target="_blank">http://nekovm.org</a>)<br>
</font></blockquote></div><br>