MMTk 0.5.0
Pre-release
Pre-release
GC Plans
- Added a new plan PageProtect, a plan to help debugging. It allocates each object
to a separate page, and protects pages when the pages are released.
API
- Major changes to the ObjectModel trait: now a binding must specify each per-object
metadata used by mmtk-core, whether the metadata resides in header bits provided
by the VM or side tables provided by mmtk-core. For in-header metadata, a binding
can further implement how it can be accessed, in case the bits are not always available
to mmtk-core.
Misc
- Refactored metadata to provide unified access to per-object metadata (in-header or side).
- Refactored work packet statistics to allow other types of stats other than execution times.
- Added the feature 'perf_counter' and the option 'perf_events' to collect data from hardware performance counters for work packets.
- 'extreme_assertions' now also checks if values stored in side metadata are correct.
- Fixed a bug that GenCopy may report OOM without doing a full heap GC.
- Fixed a bug that existing mmapping of side metadata memory may get overwritten.
- Fixed a bug that FreeListPageResource may return an incorrect new_chunk flag for the first allocation.