Skip to content

Commit

Permalink
Bump version to v0.18 (#788)
Browse files Browse the repository at this point in the history
  • Loading branch information
qinsoon committed Apr 11, 2023
1 parent 5247fb4 commit f8469b0
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 3 deletions.
31 changes: 31 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,34 @@
0.18.0 (2023-04-03)
===

Plan
---
* 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.
* Side log bits in generational plans are now set using relaxed store for the entire byte as an optimization.

Policy
---
* Add constants `STRESS_DEFRAG` and `DEFRAG_EVERY_BLOCK` to allow immix to stress defrag copying for debugging.

API
---
* 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.
* 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.

Misc
---
* Refactor `Mmapper` and `VMMap`. Their implementation is now chosen dynamically, rather than statically based on the pointer size of the architecture. This allows
us to use a more appropriate implementation to support compressed pointers.
* Revert changes in d341506 about forwarding bits, and bulk zero side forward bits for defrag source blocks.
* 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,
which would result in an assertion failure.
* Fix a bug in the mem balancer where subtraction may silently overflow and cause unexpected statistics to be used for computing new heap sizes.
* Fix a bug where `ScanObjectsWork` does not properly set the worker when it internally uses `ProcessEdgesWork`.
* Fix a bug where nodes pushed during root scanning were not cached for sanity GC.
* Fix a bug where `harness_begin` does not force a full heap GC for generational plans.
* Add info-level logging for each GC to show the memory usage before and after the GC, and elapsed time for the GC.


0.17.0 (2023-02-17)
===

Expand Down
4 changes: 2 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "mmtk"
version = "0.17.0"
version = "0.18.0"
authors = ["The MMTk Developers <>"]
edition = "2021"
license = "MIT OR Apache-2.0"
Expand All @@ -20,7 +20,7 @@ doctest = false

[dependencies]
# MMTk macros
mmtk-macros = { version = "0.17.0", path = "macros/" }
mmtk-macros = { version = "0.18.0", path = "macros/" }

libc = "0.2"
jemalloc-sys = { version = "0.5.3", features = ["disable_initial_exec_tls"], optional = true }
Expand Down
2 changes: 1 addition & 1 deletion macros/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[package]
name = "mmtk-macros"
# the macro crate uses the same version as mmtk-core
version = "0.17.0"
version = "0.18.0"
edition = "2021"
license = "MIT OR Apache-2.0"
description = "MMTk macros provides procedural macros used by mmtk-core."
Expand Down

0 comments on commit f8469b0

Please sign in to comment.