Hacker News new | past | comments | ask | show | jobs | submit login

I can rather suggest use libJIT instead of LLVM overkill. libJIT is both faster, platform independent, and much easier in use than LLVM (or GNU lightning).

Also LLVM is not really suitable for JIT compilation. For instance, LLVM compilation time is just huge, and not suitable for real world JIT compilers. Maybe only for those small toy programs LLVM developers show on conferences. This was one of the many other reasons that for our Just-In-Time compiler we use libJIT. It has been well tested in embedded systems, industrial lasers by TRUMPF Laser division, working on Portable.NET Just-In-Time compiler, and a managed implementation of Windows.Forms.

Moreoever, LLVM does not easily support many features needed for implementation of ECMA-335, Microsoft Common Language Infrastructure, Common Language Runtime, Common Intermediate Language, and Common Type System:

For instance,

These are just a couple of them:

    * the whole spectrum of ECMA 335 for CLR types and operations 

    * async exception handling 

    * precise stack marking 

    * multiple custom call conventions 

    * fast Just-In-Time compilation 

Try to Google for libJIT. You can have a look for more information here:


Also have a look to libJIT tutorial:


Applications are open for YC Summer 2020

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact