I have written a JVM in Rust

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • rjvm

    A tiny JVM written in Rust. Learning project

  • I have a few questions about the garbage collection. One of the hard parts of implementing a garbage collector is making sure everything is properly rooted (especially with a moving collector). you have the `do_garbage_collection` method marked unsafe[1], but don't explain what the calling code needs to do to ensure it is safe to call. How do you ensure there are no references to heap that are not rooted? This a not a trivial problem[2][3][4].

    Also note that I cloned the repo and tried to run `cargo test` every test fails with 'should be able to add entries to the classpath: InvalidEntry("/Users/troyhinckley/repos/rjvm/vm/rt.jar")'

    [1] https://github.com/andreabergia/rjvm/blob/be9c54066c64a82879...

    [2] https://manishearth.github.io/blog/2021/04/05/a-tour-of-safe...

    [3] https://without.boats/blog/shifgrethor-iii/

    [4] https://coredumped.dev/2022/04/11/implementing-a-safe-garbag...

  • Metascala

    A JVM written in Scala

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • mmtk-core

    Memory Management ToolKit

  • Great learning project, I'm glad the author is having fun.

    If they're interested in bolting on a GC, it couldn't hurt to look at MMtk. (https://www.mmtk.io/) Some high quality collection algorithms, written to be pluggable to various VMs, and written in Rust.

  • rust-jvm3

    A JVM made for educational purposes that implements a subset of the specification

  • Shameless plug of my similar project: https://github.com/tenaf0/rust-jvm3

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts