GitPedia

Jvm old

Pure Rust implementation of the JVM 7 specification

From birbe·Updated January 23, 2026·View on GitHub·
·Archived

A pure Rust implementation of the JVM 7 spec, with the main goals being to be able to eventually: The project is written primarily in Rust, distributed under the GNU General Public License v3.0 license, first published in 2020. Key topics include: bytecode, classloaders, java, jit, jited.

JVM-Rust

badge Rust

Warning! This crate is unsafe at the moment.


A pure Rust implementation of the JVM 7 spec, with the main goals being to be able to eventually:

  • Run the OpenJDK 7 Java source
  • Have a Cranelift-backed JIT, and an AOT WASM compiler.

Roadmap

  • Deserialize Java 7 classes

  • Type-checking of bytecode (!)

  • Get basic bytecode running

  • Get heap allocation and object creation working

  • Improve stability

  • Monitors and error handling

  • Fully implement all bytecode

  • Get the OpenJDK 7 source to load and run.

  • Stop-the-world GC

  • Bytecode metrics

  • Cranelift JIT

  • Concurrent GC

  • Ahead-of-time WASM compiler


Library Usage

Look in main.rs of the jvm_test crate for an example.

cargo run -p jvm_test -- --mode <i, stepper>

Unsafety

This library is under heavy development, and as such is very unstable and unsafe(!) to use. The main issues arise from
the fact that executed bytecode is not currently type-checked.

TLDR: don't use this for anything important, nor on anything you don't trust.

Contributors

Showing top 2 contributors by commit count.

View all contributors on GitHub →

This article is auto-generated from birbe/jvm-old via the GitHub API.Last fetched: 6/25/2026