MMTk 0.11.0
Pre-release
Pre-release
GC Plans
- Introduced a new work packet type
SFTProcessEdges. Most plans now useSFTProcessEdgesfor tracing objects,
and no longer need to implement any plan-specific work packet. Mark compact and immix plans still use their own
tracing work packet.
Policies
- Fixed a bug that
ImmixCopyContextdid not set the mark bit after copying an object. - Fixed a bug that
MarkCompactSpaceusedObjectReferenceandAddressinterchangably. NowMarkCompactSpace
properly deals withObjectReference.
API
is_mapped_object()is superseded byis_in_mmtk_spaces(). It returns true if the given object reference is in
MMTk spaces, but it does not guarantee that the object reference actually points to an object.is_mmtk_object()is added. It can be used to check if an object reference points to an object (useful for conservative stack canning).
is_mmtk_object()is only availble when theis_mmtk_objectfeature is enabled.
Misc
- MMTk core now builds with stable Rust toolchains (minimal supported Rust version 1.57.0).
- Fixed a bug that MMTk may not map metadata and SFT for an object reference if the object reference is in a different
chunk from the allocated address. - Added
trait Regionandstruct RegionIterator<R>to allow convenient iteration through memory regions.