Hi list,

The X86 Just-in-Time is now available for Neko !

- the jit is only available for X86 processors
- the jit is disabled when creating a new VM using neko_vm_alloc
- you can enable the jit by calling neko_vm_jit(vm,1)
- the "neko" commandline do enable the JIT by default
- you can disable the JIT in commandline by calling :
     neko -interp file.n

Some bench result comparisons (on Neko/Windows) :

- fibonnacci(37)   speed x 4.7
- nbodies(300000)  speed x 1.7
- binary-trees(17) speed x 3.9
- nekoc(1.8Mo file)speed x 2.0

In memory, the JIT-code takes between 4 and 5 time the size of the
bytecode. Processing the bytecode to produce JIT code is a very fast,
single pass process.

JIT'ed modules can coexist and callback functions of not JIT'ed modules.
Exceptions and stack traces are correctly preserved in such cases.

Currently, the only limitation is that there is no overloaded OO
operations support in JIT. This will be fixed very soon.

Additional optimizations will be made in the near future.

Best,
Nicolas


-- 
Neko : One VM to run them all
(http://nekovm.org)

Reply via email to