ferrugo

Ferrugo is a JVM implementation written in Rust

MIT License

Stars
280
Committers
1

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

  1. Install Rust

Run the command below and follow the onscreen instructions.

curl https://sh.rustup.rs -sSf | sh
  1. Use Rust Nightly
rustup override set nightly
  1. Install dependencies
  • LLVM 6.0
  • (Other packages as necessary...)
# e.g. Ubuntu or Debian
apt-get install llvm-6.0
  1. Test
cargo test
  1. Build and Run
cargo run --release examples/Hello.class

Building on other platforms

I don't know. Maybe almost the same as Linux.