Skip to content

Releases: mmtk/mmtk-core

MMTk 0.27.0

09 Aug 07:02
160b770
Compare
Choose a tag to compare
MMTk 0.27.0 Pre-release
Pre-release

0.27.0 (2024-08-09)

What's Changed

Policy

API

CI

  • Parallelize and workaround CI style checks by @wks in #1184

Misc

  • Extensible eBPF timeline attributes by @wks in #1162
  • Only map with executable permissions when using code space by @k-sareen in #1176
  • Fix style check for Rust 1.80 by @qinsoon in #1178
  • Extra assertions for mutators and epilogues by @wks in #1182
  • Refactor iterate_meta_bits by @wks in #1181

Full Changelog: v0.26.0...v0.27.0

MMTk 0.26.0

01 Jul 23:06
6cae51c
Compare
Choose a tag to compare
MMTk 0.26.0 Pre-release
Pre-release

0.26.0 (2024-07-01)

What's Changed

Policy

  • Clear side forwarding bits properly by @wks in #1138
  • Fix mark bit clearing in PrepareChunkMap by @wks in #1148
  • Let MarkSweepSpace use BlockPageResource by @wks in #1150
  • Add SweepChunk to native MarkSweepSpace by @wks in #1158

API

Documentation

  • Fix broken link and stale descriptions in doc by @wks in #1139
  • API migration guide. by @wks in #1133
  • Add back DummyVM as a part of the porting guide. Minor changes to MMTk initialization in the porting guide. by @qinsoon in #1142
  • Fix broken link to mmtk.h by @wks in #1149

Misc

  • Fix clippy warnings for Rust 1.79 by @wks in #1151
  • Display number of slots in timeline visualization by @wks in #1154

Full Changelog: v0.25.0...v0.26.0

MMTk 0.25.0

17 May 09:44
dccce90
Compare
Choose a tag to compare
MMTk 0.25.0 Pre-release
Pre-release

0.25.0 (2024-05-17)

What's Changed

Plan

  • Allow roots to be pinned for StickyImmix nursery collections by @k-sareen in #1108
  • Check FULL_NURSERY_GC for StickyImmix as well by @k-sareen in #1124

Policy

  • Remove data race for marksweep block lists by @qinsoon in #1112

Scheduler

  • Remove coordinator and support forking by @wks in #1067

API

  • Allow nursery size to be proportional to the heap size by @qinsoon in #1087
  • Remove NULL ObjectReference by @wks in #1064
  • Fix write barrier parameter type by @wks in #1130
  • Allow querying if the current GC may move objects. by @wks in #1128

CI

  • Use host toolchain and explicit target in CI script by @wks in #1109
  • Fix ignores in merge check by @qinsoon in #1117
  • Fix the openjdk test name in merge check by @qinsoon in #1119

Misc

  • Bump dependencies after version 0.24 by @wks in #1105
  • Don't use PROT_EXEC with mmap on macos by @eileencodes in #1110
  • Rename associated types in GCWorkContext by @wks in #1116
  • Add missing pinning metadata to mock_vm by @wks in #1121
  • Use to_address for SFT access by @wks in #1122
  • Ensure reference objects are either traced or cleared by @wks in #1126
  • Dump process map on mmap failure and fix typos by @k-sareen in #1127
  • Fix compiler errors and warnings for Rust 1.78.0 by @wks in #1132
  • Remove fl_map and refactor FreeListPageResoure by @wks in #953

New Contributors

Full Changelog: v0.24.0...v0.25.0

MMTk 0.24.0

08 Apr 10:52
86518d2
Compare
Choose a tag to compare
MMTk 0.24.0 Pre-release
Pre-release

0.24.0 (2024-04-08)

What's Changed

Misc

  • Check and fix broken links in docs by @qinsoon in #1085
  • Allow binding to implement GC trigger by @qinsoon in #1083
  • Resolve issues for unit tests on 32 bits by @qinsoon in #1095
  • Use SFTDenseChunkMap on 64bits when vm_space is enabled by @qinsoon in #1094
  • Fix warnings with the stable Rust toolchain by @wks in #1099
  • Use proper logging for the treadmill by @wks in #1101

Full Changelog: v0.23.0...v0.24.0

MMTk 0.23.0

09 Feb 06:22
2d3677d
Compare
Choose a tag to compare
MMTk 0.23.0 Pre-release
Pre-release

0.23.0 (2024-02-09)

What's Changed

API

CI

  • Stop using the deprecated set-output in our CI configs by @qinsoon in #1059
  • Rename CI tests to minimal/extended tests by @qinsoon in #1073
  • Properly get PR number for merge group by @qinsoon in #1077

Misc

  • MMTk Enhancement Proposal by @wks in #1056
  • Timeline visualization tool by @wks in #1022
  • Add a document for project principles by @qinsoon in #1069
  • Fix un-cleared VO bits for contiguous monotone PR by @wks in #1071
  • Use live memory to estimate collection pages in mem balancer by @qinsoon in #1050
  • Fix issues in sanity GC by @qinsoon in #1079

Full Changelog: v0.22.1...v0.23.0

MMTk 0.22.1

12 Jan 00:13
Compare
Choose a tag to compare
MMTk 0.22.1 Pre-release
Pre-release

0.22.1 (2024-01-11)

What's Changed

  • Revert a mistake in v0.22 that prevents cargo publish by @qinsoon in #1065

Full Changelog: v0.22.0...v0.22.1

MMTk 0.22.0

21 Dec 05:10
79fb0bb
Compare
Choose a tag to compare
MMTk 0.22.0 Pre-release
Pre-release

0.22.0 (2023-12-21)

What's Changed

API

  • Flush mutator buffers in destroy_mutator by @k-sareen in #1045
  • NULL and movement check in process_edge by @wks in #1032

Documentation

CI

  • Use new running scripts in ci-perf-kit by @qinsoon in #1005
  • Upload perf build and log as artifacts (merge after #1005) by @qinsoon in #1011
  • Fix multiple issues in recent CI changes by @qinsoon in #1014
  • Fix CI for OpenJDK nogc config by @qinsoon in #1019
  • Use ci-perf-kit 0.7.4: ignore runs with unmatched key/value in the logs. by @qinsoon in #1025
  • Fix Ruby binding test repo checkout by @wks in #1048

Misc

Full Changelog: v0.21.0...v0.22.0

MMTk 0.21.0

03 Nov 05:52
@wks wks
39d2371
Compare
Choose a tag to compare
MMTk 0.21.0 Pre-release
Pre-release

0.21.0 (2023-11-03)

What's Changed

Plan

  • Move some states from BasePlan to GlobalState by @qinsoon in #949
  • Extract set_collection_kind and set_gc_status by @qinsoon in #957
  • Expose is_emergency_collection to VM bindings by @wks in #997

Policy

  • Clear all side forwarding bits by @wks in #974
  • Stop using the name "ForwardingWord" by @wks in #976
  • Implement get_gc_trigger() for LockFreeImmortalSpace by @qinsoon in #1003

API

  • Expose alloc_slow. Add a section in user guide about allocation optimization by @qinsoon in #967
  • Use BumpPointer::default() by @qinsoon in #993
  • Fix mention of to_object_reference() in comment by @k-sareen in #998

Documentation

  • Fix rustdoc warnings in Rust 1.73 by @qinsoon in #978
  • Add a section about debugging tips in user guide by @qinsoon in #987
  • Update doc comments by @wks in #1000
  • Add document for release by @qinsoon in #1007
  • Move constants and add comments for stress copying by @wks in #1008
  • Update bibtex of the tracing paper to include the DOI by @caizixian in #1009

CI

  • Fix performance baseline workflow by @qinsoon in #971
  • Allow auto merge binding PRs by @qinsoon in #988
  • Apply a delay before we enable auto merge on a PR by @qinsoon in #992
  • Use cargo generate-lockfile to update JikesRVM's Cargo.lock by @qinsoon in #996

Misc

  • Add option to exclude kernel events from perf results by @k-sareen in #995

Full Changelog: v0.20.0...v0.21.0

MMTk 0.20.0

05 Oct 03:42
9a676e6
Compare
Choose a tag to compare
MMTk 0.20.0 Pre-release
Pre-release

What's Changed

Plan

  • Refactor derive macros and add HasSpaces trait by @wks in #934
  • Make MarkCompact LOS support 2nd transitive closure by @wenyuzhao in #944
  • Disabling PrepareMutator from PlanConstraints by @wks in #964

Policy

API

  • Boot-time configurable heap constants by @wenyuzhao in #899
  • This PR enables transitively pinning (TP) objects from particular roots for Immix/StickyImmix by @udesou in #897
  • Let VM control when or if to read env var options by @wks in #955

Misc

Full Changelog: v0.19.0...v0.20.0

MMTk 0.19.0

24 Aug 08:25
269408b
Compare
Choose a tag to compare
MMTk 0.19.0 Pre-release
Pre-release

0.19.0 (2023-08-18)

What's Changed

Plan

  • Remove a warning in sticky immix trace_object_nursery by @qinsoon in #815
  • Change default plan to GenImmix by @qinsoon in #819

Policy

  • Remove redundant clear_nursery() by @tianleq in #799
  • Introduce VMSpace, and allow VMSpace to be set lazily by @qinsoon in #802
  • Fix an issue that the aligned VM space may not match the original location by @qinsoon in #809
  • Remove some uses of mem::transmute in marksweep block by @qinsoon in #826
  • Fix is_live for ImmixSpace by @wks in #842
  • Sweep abandoned blocks in eager sweeping by @qinsoon in #830
  • Fix VO bits for Immix by @wks in #849
  • Fix unaligned access by @wks in #887

Scheduler

  • Let the coordinator thread open buckets by @wks in #782
  • No coordinator work by @wks in #794

Misc

  • Rename "alloc bit" to "valid-object bit" (VO bit), the second attempt. by @wks in #791
  • Add MarkState. Use MarkState for ImmortalSpace. by @qinsoon in #796
  • Change info logging to debug in ImmortalSpace by @qinsoon in #801
  • Reset nursery_index in finalizable processor if we remove objects from candidates by @qinsoon in #807
  • Allow bulk set side metadata by @qinsoon in #808
  • Some fixes for sanity GC by @qinsoon in #806
  • Use extreme assertion for metadata mapped assert by @wks in #812
  • Install the missing deps for i686 CI tests by @qinsoon in #816
  • Use min nursery as mem balancer's extra memory by @qinsoon in #820
  • Sort dependencies in alphabetical order by @k-sareen in #822
  • Use sysinfo instead of sys-info-rs by @k-sareen in #827
  • Let sysinfo only load memory-related info by @wks in #836
  • Add extreme assertion for barrier slow path calls by @ArberSephirotheca in #833
  • Refactor: Use Atomic<Address> where appropriate by @ClSlaid in #843
  • Update porting guide by @k-sareen in #857
  • Fix typo in doc comment by @k-sareen in #859
  • Replace debug_assert in side_after with assert by @qinsoon in #873
  • Work around stack overflow in array_from_fn by @wks in #876
  • Let ObjectReference implement Ord by @wks in #870
  • Add USDT tracepoints for key GC activities by @caizixian in #883
  • Fix UB in SFTMap implementations by @playXE in #879
  • Run CI build/unit test with latest stable Rust toolchain by @qinsoon in #885
  • Document MSRV policy by @wks in #881
  • Fix performance regression test scripts by @qinsoon in #892
  • Run V8 binding tests on GitHub hosted runner by @caizixian in #900
  • Add tracing tools and documentation by @caizixian in #898
  • Run benchmarks for more plans on OpenJDK by @qinsoon in #901
  • Apply style check on auxiliary crates (macros and dummyvm) by @caizixian in #913
  • Call Collection::out_of_memory if the allocation size is larger than max heap size by @qinsoon in #896
  • Add a unit test for comma-separated bulk option parsing by @caizixian in #911
  • Merge tutorial and porting guide into user guide by @qinsoon in #907
  • Fix broken links in README and cargo doc warnings by @caizixian in #912

API

New Contributors

Full Changelog: v0.18.0...v0.19.0