Ferrugo
Ferrugo is a JVM implementation written in Rust.
This is now just a toy project (for me/you to learn how it works).
Current Status
- Able to run some classfiles. see
./examples/(Hello|BigInt|SmallPT).class
- Partly support for JIT compiling powered by LLVM
- Aiming readable code (this is the hardest, yes)
Building from Source
Building on Linux
- Install Rust
Run the command below and follow the onscreen instructions.
curl https://sh.rustup.rs -sSf | sh
- Use Rust Nightly
rustup override set nightly
- Install dependencies
- LLVM 6.0
- (Other packages as necessary...)
# e.g. Ubuntu or Debian
apt-get install llvm-6.0
- Test
cargo test
- Build and Run
cargo run --release examples/Hello.class
Building on other platforms
I don't know. Maybe almost the same as Linux.