[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Libjit-developers] various free JIT libraries?
From: |
Basile STARYNKEVITCH |
Subject: |
[Libjit-developers] various free JIT libraries? |
Date: |
Fri, 16 Nov 2007 07:56:37 +0100 |
User-agent: |
Mozilla-Thunderbird 2.0.0.6 (X11/20071008) |
Hello All,
Sorry I am resending this message. Its first instance was neither
redistributed to me (as a list subscriber) nor archived on
http://dotgnu.org/pipermail/libjit-developers/2007-November/date.html
First: where is the current libjit CVS? Still on
cvs -z3 \
-d:pserver:address@hidden:/sources/dotgnu-pnet \
co libjit
Is there some more active CVS or other repository (SVN? darcs?)
Does any one have comparaisons between various free opensource JIT
libraries, a bit like:
libjit
GPL licence
medium sized library (65KLOC)
offer an internal VM for machines not yet targetted
target x86 (32bits), ARM, Alpha
missing AMD64 target
generate code of medium-good quality at medium-good speed
may produce *.so ELF files
handles several registers well
C & C++ API: the abstract syntax tree is built in memory then JITed
medium sized community
small community
used in DotGnu PNET
lightning
LGPL licence
small "library" -only include files acually (22KLOC)
targets x86, PowerPC32, AMD64, Sparc32
quick generation of simple (unoptimized) machinecode in memory
handle few registers (6)
C API : each macro emits a few machine instruction
design model: a tiny 6 register RISC machine
used in GNU Smalltalk, CLISP?
small community
tinycc
a C compiler able to compile C code from memory
to machine code memory
nearly dead project
target x86, ARM (not AMD64)
quick compilation from C to unoptimized machine code
C API : given a char* of a C code, generate machine code
buggy for generation of ELF shared objects
llvm
an entire compiler, whose middle-end can be used to JIT
large community
targets x86, AMD64, ARM, Sparc32&64
sometimes uses an external assembler
able to make many optimisations
generate optimized code from a C++ AST (or external syntax)
may generate *.so in ELF files
extra support for various Garbage Collectors
big C++ library (about 500KLOC)
gcc
just write a C code file and gcc -fPIC it and dlopen it
large community many targets
not really a JIT
Maybe we should add more, in particular ParrotCode, LuaJIT, some
Jitting JVMs (kaffe?) ...
(and some haskell jitting library?)
What I would be interested in is what (opensource) projects are using
these JIT libraries, and ideally a quantitative comparison of them...
For Libjit, I only know of dotnet using it. what else?
Are there any programs which uses several JIT-ing libraries and is able
to compare them in term of : speed of the JITting (ie machine code
generation) and speed/size of the generated machine code
Regards.
--
Basile STARYNKEVITCH http://starynkevitch.net/Basile/
email: basile<at>starynkevitch<dot>net mobile: +33 6 8501 2359
8, rue de la Faiencerie, 92340 Bourg La Reine, France
*** opinions {are only mines, sont seulement les miennes} ***