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
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
- Add object() in MemorySlice by @qinsoon in #798
- Remove Collection::COORDINATOR_ONLY_STW by @ArberSephirotheca in #814
- Refactor: Change
ActivePlan::mutators()
's return type by @ArberSephirotheca in #817 - Replace alloc-related
offset
type tousize
insteadisize
by @fepicture in #838 - Rename ambiguous
scan_thread_root{,s}
functions by @k-sareen in #846 - Update comments on bind_mutator by @qinsoon in #854
- Counting VM-allocated pages into heap size. by @wks in #866
- Expose Allocators type to public API by @playXE in #880
- Collect live bytes during GC by @qinsoon in #768
- Tidy up mutator scan API by @qinsoon in #875
- Implement transparent hugepage support by @caizixian in #905
- Implement AllocatorInfo by @playXE in #889
- Add comma as an alternative options string separator by @wenyuzhao in #909
New Contributors
- @ArberSephirotheca made their first contribution in #814
- @fepicture made their first contribution in #838
- @ClSlaid made their first contribution in #843
- @playXE made their first contribution in #880
Full Changelog: v0.18.0...v0.19.0