1
0
Fork
You've already forked vmkit-core
0
VMKit - toolkit for building virtual machines
  • Rust 97.7%
  • C 1.5%
  • Nix 0.6%
  • Shell 0.2%
2025年05月29日 14:49:25 +00:00
.direnv prepare for release 2025年05月15日 18:56:37 +07:00
vmkit safer threads 2025年05月29日 14:49:25 +00:00
vmkit-proc better finalization 2025年04月20日 10:19:46 +07:00
.editorconfig proc-macro 2025年02月20日 20:46:10 +07:00
.envrc flake 2025年05月09日 18:34:07 +07:00
.gitignore add .direnv to gitignore 2025年05月09日 18:37:38 +07:00
Cargo.lock safer threads 2025年05月29日 14:49:25 +00:00
Cargo.toml trace_object -> trace 2025年05月02日 19:10:50 +07:00
flake.lock update dependencies 2025年05月09日 18:37:07 +07:00
flake.nix flake 2025年05月09日 18:34:07 +07:00
LICENSE Create LICENSE 2025年02月09日 09:22:22 +07:00
README.md Update README.md 2025年04月24日 15:00:03 +07:00

vmkit-core

Toolkit for building virtual machines and runtimes easily. Based on original VMKit project (https://vmkit.llvm.org) and is continuing with approval of Gaël Thomas itself.

NOTE: Original code is uploaded on git.playxe.org:playXE/vmkit-core, GitHub repository is a push mirror for backups.

Features

  • Garbage Collector: Done by using mmtk-core
  • Thread management: Threads can be spawned, suspended, resumed, killed.

vmkit-core flavors

We support three flavors of vmkit-core:

  • uncooperative: This is the most conservative flavor. It exposes a BDWGC-like API, only provides Immix and MarkSweep GC plans, and management of threads is fully internal to the library.
  • cooperative: This is mostly-precise flavor. This flavor exposes advanced allocation API, requries runtime to call into yieldpoint(), and also requires runtime to do write barriers and have precise object layout. Stack is left to be conservatively scanned.
  • full-precise: This is precise flavor. Provides everything that cooperative provides, and also requires runtime to not have any conservative assumptions such as conservative stack scanning.