Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/maekawatoshiki/ferrugo
Ferrugo is a JVM implementation written in Rust
https://github.com/maekawatoshiki/ferrugo
java jvm rust
Last synced: about 2 months ago
JSON representation
Ferrugo is a JVM implementation written in Rust
- Host: GitHub
- URL: https://github.com/maekawatoshiki/ferrugo
- Owner: maekawatoshiki
- License: mit
- Created: 2018-12-20T13:41:50.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2019-02-10T09:01:06.000Z (about 6 years ago)
- Last Synced: 2024-12-19T03:09:28.307Z (2 months ago)
- Topics: java, jvm, rust
- Language: Rust
- Size: 638 KB
- Stars: 280
- Watchers: 19
- Forks: 12
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Ferrugo
[](https://circleci.com/gh/maekawatoshiki/ferrugo)
[](https://codecov.io/gh/maekawatoshiki/ferrugo)
[](./LICENSE)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.
```sh
curl https://sh.rustup.rs -sSf | sh
```2. Use Rust Nightly
```sh
rustup override set nightly
```3. Install dependencies
- LLVM 6.0
- (Other packages as necessary...)```sh
# e.g. Ubuntu or Debian
apt-get install llvm-6.0
```4. Test
```sh
cargo test
```5. Build and Run
```sh
cargo run --release examples/Hello.class
```## Building on other platforms
I don't know. Maybe almost the same as Linux.