Rapidus
A toy JavaScript engine aiming to pass test262
Features
- Small
- Support Tracing-JIT compiling
- Currently, any functions or loops fitting for the following rules would be JIT-compiled.
- Accessing only its arguments and local variables (not global variables)
- Number and Boolean(only for function's returning type) are used
- Calling only itself
- (There are exceptions...)
- Currently, any functions or loops fitting for the following rules would be JIT-compiled.
Building from Source
Building on Linux
- Install dependencies
- LLVM 6.0
$ # e.g. Ubuntu or Debian
$ apt-get install llvm-6.0
- Test
$ cargo test
- Build
$ cargo run --release
- Run
$ cargo run --release example/XXX.js
Building on other platforms
I don't know.
tips: If you are using macOS, you cannot use llvm installed withNow it works!brew
. You should use macports or docker instead.
Use Dockerfile
- Docker image: uint256/rapidus
$ docker build -t rapidus:1.0 .
$ docker run -it rapidus:1.0