Hi, Vadim Atlygin has been working on a LLVM backend for Neko, and we are happy to announce that "Hello world" works now.
For LLVM readers, Neko is a tight virtual machine, which is primarily targetted by haXe. haXe is a statically typed programming language that has targets to JavaScript, Flash, as well as Neko. Both haXe and Neko are developed by Nicolas Cannasse, with contributions from many others. You can read more about haXe and Neko at www.haxe.org and www.nekovm.org. The current neko vm has a x86 JIT. The aim of this work is to get the Neko VM to run fast on 64 bit machines, and hopefully improve performance on 32 bit targets as well. You can get the code from this repository: http://github.com/vava/neko_llvm_jit The work is still incomplete - only the first 10 opcodes out of 66 are implemented, but there is enough to get "Hello world" and simple arithmetic to work. The current port is still slower than the existing VM, but that is expected. The next steps are to implement the rest of the opcodes. At first, we will just plug them up to use c callbacks, and then as a next step, convert them to real LLVM bytecodes later. Until we have real LLVM produced for the opcodes, it will be slower than the original VM. If you want to help out, you can contribute test cases for opcodes, implement c callback implementations for some of the opcodes, or even better optimized code for opcodes. We propose to use the Neko mailing list for discussion on this. Regards, Vadim Atlygin & Asger Ottar Alstrup -- Neko : One VM to run them all (http://nekovm.org)
