mmtk-core
rust-jvm3
mmtk-core | rust-jvm3 | |
---|---|---|
9 | 1 | |
338 | 2 | |
5.6% | - | |
8.9 | 10.0 | |
1 day ago | over 1 year ago | |
Rust | Rust | |
GNU General Public License v3.0 or later | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
mmtk-core
-
I have written a JVM in Rust
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.
-
Writing a Compiler and a Virtual Machine in Rust
just here to mention https://github.com/mmtk/mmtk-core crate which provides garbage collectors. The only problem is requiring threads, which makes it unsuitable for wasm.
-
JDK 20 G1/Parallel/Serial GC Changes
AFAIK, no. The opposite is true with MMtk (https://www.mmtk.io), which is a toolkit with many GC algorithms implemented that has been plugged into other runtimes, including, as it happens, OpenJDK.
- Mmtk: Memory Management Toolkit
-
Garbage Collection with LLVM
IME the MPS is hard to set up correctly, and I've heard in Clasp they got in performance trouble, as per-thread allocation buffers were too small and they couldn't make the buffers larger. But indeed being conservative on the stack is a fine choice; someone mentioned Boehm being easy to use, and the MMTk is a newer option which allows for bump-allocation and being precise on the heap (like MPS), but at the moment you have to provide your own stack scanning code.
- Memory Management Toolkit – multi-runtime platform for language implementers
- MMTk.io – Memory Management ToolKit
rust-jvm3
-
I have written a JVM in Rust
Shameless plug of my similar project: https://github.com/tenaf0/rust-jvm3
What are some alternatives?
bdwgc - The Boehm-Demers-Weiser conservative C/C++ Garbage Collector (bdwgc, also known as bdw-gc, boehm-gc, libgc)
Metascala - A JVM written in Scala
cactusref - 🌵 Cycle-Aware Reference Counting in Rust
rjvm - A tiny JVM written in Rust. Learning project
micro-mitten - You might not need your garbage collector
seize - Fast, efficient, and robust memory reclamation for Rust.
mark-sweep - A simple mark-sweep garbage collector in C
stupidalloc - A stupid Rust memory allocator
book - Writing Interpreters in Rust: a Guide
memory_pages - `memory_pages` is a small library provinig a cross-platform API to request pages from kernel with certain premisions