I've been searching for a while now, but I could not find any engine that emits LLVM bytecode. But somehow I cannot belief there is no such engine :)
-
IIRC mozilla investigated the possibility of using LLVM as a backend for their JIT but ruled it out, saying it would be too slow or something like thatCAFxX– CAFxX2011-12-11 21:11:05 +00:00Commented Dec 11, 2011 at 21:11
-
@CAFxX: Do you have any reference about that?Albert– Albert2014-03-04 14:24:20 +00:00Commented Mar 4, 2014 at 14:24
-
3@Albert sure: hacks.mozilla.org/2009/07/tracemonkey-overview/comment-page-2/…CAFxX– CAFxX2014-03-05 16:59:46 +00:00Commented Mar 5, 2014 at 16:59
-
2LLV8 is an experimental top-tier compiler for V8 JavaScript Engine. LLV8 leverages the power of LLVM MCJIT to produce highly optimized code. last commit was on Sep 8, 2016.Wis– Wis2018-01-15 20:35:47 +00:00Commented Jan 15, 2018 at 20:35
4 Answers
JXcore will be your best bet going forward IMHO - when they convert from V8 to LLVM, which is an objective of theirs when they reach version 2 (according to their roadmap), it will then compile your javascript sources into native code.
You can get more info on JXcore here.
This part of the answer is in a response to Albert's answer:
According to ktrzeciaknubisa's post they will publish the source as soon as they are out of the beta stages and have clean code...this might take some time.
3 Comments
nodejs-mobile is using V8, so I guess we still have to look to earlier projects for examples of targeting LLVM.There doesn't seem to be any.
In the list of projects build with LLVM there is nothing about Javascript.
Comments
It appears Webkit now includes this functionality as of May 2014:
... the WebKit project has unified its existing JavaScript compilation infrastructure with the state-of-the-art LLVM optimizer.
https://webkit.org/blog/3362/introducing-the-webkit-ftl-jit/
The code for this seems to be here:
1 Comment
JXCore (a fork of Nodejs) claims to have implemented that. Since Feb 2015, it is open source, the code is here on GitHub.