2 ms·
This link has more detail https://github.com/erlang/otp/pull/2745#issuecomment-691482132 https://github.com/erlang/otp/pull/2745#issuecomment-6914821... “ LL
by alberth 6y ago
This link has more detail
https://github.com/erlang/otp/pull/2745#issuecomment-691482132 https://github.com/erlang/otp/pull/2745#issuecomment-6914821...
“
LLVM is much slower at generating code when compared to asmjit. LLVM can do a lot more, but it's main purpose is not to be a JIT compiler.
With asmjit we get full control over all the register allocation and can do a lot of simplifications when generating code.
On the downside we don't get any of LLVMs built-in optimizations.
We also considered using dynasm, but found the tooling that comes with asmjit to be better.
“
- Rochus 6y agoThis quote from your reference gives the answer: We also considered using dynasm, but found the tooling that comes with asmjit to be better. EDIT: But it still gives no answer why they preferred asmjit in favour of other solutions than LLVM or DynASM (where the latter is just an assembler which helps to integrate with C code, not a platform abstraction like LLVM or others).