Module mmtk::util

source ·
Expand description

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

Re-exports§

Modules§

  • An abstract of memory address and object reference.
  • Allocators Various allocators implementation.
  • Helpers for making native APIs. This module contain helpers for the convenience of exposing the MMTk API to native (usually C/C++) programs.
  • Constants used in MMTk
  • Calculation, conversion and rounding for memory related numbers.
  • The copy allocators for a GC worker.
  • Heap implementation, including page resource, mmapper, etc.
  • Linear scan through a heap range
  • Various malloc implementations (conditionally compiled by features) This module exposes a set of malloc API. They are currently implemented with the library malloc. This may change in the future, and will be replaced with a native MMTk implementation. We have two versions for each function:
  • Wrapper functions for memory syscalls such as mmap, mprotect, etc.
  • Metadata (OnSide or InHeader) implementation. This is a generic module to work with metadata including side metadata and in-object metadata.
  • Opaque pointers used in MMTk, e.g. VMThread.
  • MMTk command line options.