Under construction MMTk is under active development and is not yet ready for production use. However, even at this early stage GC researchers and VM developers can start exploring it and using it experimentally.

We released version 0.1 of MMTk in November 2020. This includes basic functional ports to OpenJDK, V8 and JikesRVM. Other significant language ports are in the pipeline. Version 0.1 only supports very simple collectors: the ‘NoGC’ collector (like OpenJDK’s epsilon), and a simple semi-space collector. The original Java MMTk from which this has evolved supports a large number of collectors, and we will be incorporating many of those in the near future.

If you are a GC researcher, you can start working with the code base now, although the internal abstractions are subject to change and the mechanisms provided by MMTk may not yet be optimal.

If you are a language implementer, there should already be enough in place for you to start porting to MMTk.


We track performance for a number of collectors. For example: