mmtk 0.32.0

MMTk is a framework for the design and implementation of high-performance and portable memory managers.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Things to Consider Before Starting a Port

In principle, a port to MMTk is not particularly difficult.
MMTk can present itself as a standard library and the core of the API is relatively simple.

However, porting a runtime to a different GC (any GC) can be difficult and time consuming.
Key questions include: 
 - How well encapsulated is the runtime's existing collector? 
 - Does the runtime make tacit assumptions about the underlying collector's implementation?
 - How many places in the runtime codebase reference some part of the GC?
 - If the runtime has a JIT, how good is the interface between the JIT and the GC (for write barriers and allocations, for example)?
 - Does the runtime support precise stack scanning? 
 - etc.

Thinking through these questions should give you a sense for how big a task a GC port will be.