No description
Find a file
2025-03-11 19:19:14 +07:00
vmkit refactors 2025-03-05 08:44:24 +07:00
vmkit-proc refactors 2025-03-05 08:44:24 +07:00
.cursorignore first 2025-02-09 09:21:48 +07:00
.editorconfig proc-macro 2025-02-20 20:46:10 +07:00
.gitignore first 2025-02-09 09:21:48 +07:00
Cargo.lock refactors 2025-03-05 08:44:24 +07:00
Cargo.toml BDWGC Shim 2025-02-12 20:42:03 +07:00
LICENSE Create LICENSE 2025-02-09 09:22:22 +07:00
README.md check2 2025-03-11 19:19:14 +07:00

vmkit-core

vmkit-core is a library which provides building blocks for building a language runtime.

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.