[][src]Crate mmtk

Memory Management ToolKit (MMTk) is a portable and high performance memory manager that includes various garbage collection algorithms and provides clean and efficient interfaces to cooperate with language implementations. MMTk features highly modular and highly reusable designs. It includes components such as allocators, spaces and work packets that GC implementers can choose from to compose their own GC plan easily.

Logically, this crate includes these major parts:

Re-exports

pub use crate::plan::AllocationSemantics;
pub use crate::plan::CopyContext;
pub use crate::plan::Mutator;
pub use crate::plan::MutatorContext;
pub use crate::plan::Plan;
pub use crate::plan::TraceLocal;
pub use crate::plan::TransitiveClosure;

Modules

memory_manager

VM-to-MMTk interface: safe Rust APIs.

plan

GC algorithms from the MMTk suite.

policy

Memory policies that can be used for spaces.

scheduler

A general scheduler implementation. MMTk uses it to schedule GC-related work.

util

Utilities used by other modules, including allocators, heap implementation, etc.

vm

MMTk-to-VM interface: the VMBinding trait.

Structs

MMTK

An MMTk instance. MMTk allows mutiple instances to run independently, and each instance gives users a separate heap. Note that multi-instances is not fully supported yet