You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+31Lines changed: 31 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,3 +1,34 @@
1
+
0.18.0 (2023-04-03)
2
+
===
3
+
4
+
Plan
5
+
---
6
+
* Add a new plan, `StickyImmix`. This is an variant of immix using a sticky mark bit. This plan allows generational behaviors without using a compulsory copying nursery.
7
+
* Side log bits in generational plans are now set using relaxed store for the entire byte as an optimization.
8
+
9
+
Policy
10
+
---
11
+
* Add constants `STRESS_DEFRAG` and `DEFRAG_EVERY_BLOCK` to allow immix to stress defrag copying for debugging.
12
+
13
+
API
14
+
---
15
+
* Add a new write barrier method `object_probable_write`. The method can be called before the fields of an object may get updated without a normal write barrier.
16
+
* Add a feature `immix_non_moving` to replace the current `immix_no_defrag` feature. This is only intended for debugging uses to rule out issues from copying.
17
+
18
+
Misc
19
+
---
20
+
* Refactor `Mmapper` and `VMMap`. Their implementation is now chosen dynamically, rather than statically based on the pointer size of the architecture. This allows
21
+
us to use a more appropriate implementation to support compressed pointers.
22
+
* Revert changes in d341506 about forwarding bits, and bulk zero side forward bits for defrag source blocks.
23
+
* Fix a bug in the scheduler where a worker may spuriously wake up and attempt to open new buckets while the coordinator is executing a coordinator work packet,
24
+
which would result in an assertion failure.
25
+
* Fix a bug in the mem balancer where subtraction may silently overflow and cause unexpected statistics to be used for computing new heap sizes.
26
+
* Fix a bug where `ScanObjectsWork` does not properly set the worker when it internally uses `ProcessEdgesWork`.
27
+
* Fix a bug where nodes pushed during root scanning were not cached for sanity GC.
28
+
* Fix a bug where `harness_begin` does not force a full heap GC for generational plans.
29
+
* Add info-level logging for each GC to show the memory usage before and after the GC, and elapsed time for the GC.
0 commit comments