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: 13 days 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 (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2019-02-10T09:01:06.000Z (almost 6 years ago)
- Last Synced: 2024-10-19T10:42:19.221Z (25 days ago)
- Topics: java, jvm, rust
- Language: Rust
- Size: 638 KB
- Stars: 280
- Watchers: 19
- Forks: 12
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Ferrugo
[![CircleCI](https://circleci.com/gh/maekawatoshiki/ferrugo.svg?style=shield)](https://circleci.com/gh/maekawatoshiki/ferrugo)
[![codecov](https://codecov.io/gh/maekawatoshiki/ferrugo/branch/master/graph/badge.svg)](https://codecov.io/gh/maekawatoshiki/ferrugo)
[![](http://img.shields.io/badge/license-MIT-blue.svg)](./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.