Aleksey Demakov's Projects
Libjit
Libjit is a reusable JIT-compiler library. It is a part of the DotGNU project and it is used by DotGNU Portable.NET as backend for its JIT engine. But the aim of libjit is to provide generic JIT functionality independent of any particular bytecode, language, or runtime.
These independent open-source projects also use libjit:
- ILDJIT - yet another CIL bytecode virtual machine.
- Ludicrous JIT compiler for Ruby.
Additionally libjit is used in-house by BBVA, here is a testimonial from them:
We, at BBVA (http://www.bbva.com) are using libjit for the run-time optimization of dynamic structures in the field of financial derivatives valuation.
We chose libjit because its features were very well adapted to our needs, and it was easy to integrate as a shared library in Microsoft Windows, one of our primary development platforms. It is seamlessly liberating us from the compilation-time vs. run-time choice when we need both performance and flexibility.
Libjit (as well as the whole Portable.NET project) was started by Rhys Weatherley. In true open source way it contains contributions from many people. Currenly I am de-facto libjit maintainer.
The latest stable libjit release can be found here:
http://ftp.gnu.org/gnu/dotgnu/libjit/libjit-0.1.2.tar.gzThe latest source code snapshot is available with the following command:
git clone git://git.sv.gnu.org/dotgnu-pnet/libjit.git
The libjit documentation may be built from the source tree. Onine HTML documentation is avaialble as well.