Skip to content

Latest commit

 

History

History
90 lines (80 loc) · 4.78 KB

README.md

File metadata and controls

90 lines (80 loc) · 4.78 KB

RJVM

This project is an attempt to write a minimal JVM using Rust.

It is a hobby project, built for fun and for learning purposes. The code quality is definitely not production ready - there are not enough tests, there isn't enough documentation, and some parts might not be idiomatic Rust since I'm just learning it. 😊

The code is licensed under the Apache v2 license.

Status

The current code can execute a very simple program.

Structure

The code is currently structured in three crates:

  • utils, which contains some common code, unrelated to the JVM;
  • reader, with the .class file reader and the data structure for modelling them;
  • vm, which contains the virtual machine that can execute the code.

There are some unit test and some integration tests - probably not enough, but since this is not production code but just a learning exercise, I'm not that worried about it.