From c5d62c4354fe091b7bc4d3bc39d570b7986b93de Mon Sep 17 00:00:00 2001 From: Yi Lin Date: Tue, 20 Sep 2022 18:51:29 +1200 Subject: [PATCH] Bump version to v0.15 (#667) --- CHANGELOG.md | 31 +++++++++++++++++++++++++++++++ Cargo.toml | 4 ++-- macros/Cargo.toml | 2 +- 3 files changed, 34 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d7c0b664ae..cbe3df227d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,34 @@ +0.15.0 (2022-09-20) +=== + +GC Plans +--- +* Generational plans now support bounded nursery size and fixed nursery size. +* Immix can be used in a non-moving variant (with no defragmentation) to facilitate early porting stages + where a non-moving GC is expected by the VM. Enable the feature `immix_no_defrag` to use the variant. + Note that this variant performs poorly, compared to normal immix. + +API +--- +* Add `mod build_info` for bindings to get information about the current build. +* Add `trait Edge`. A binding can implement its own edge type if they need more sophisiticated edges than a simple address slot, + e.g. to support compressed pointers, base pointers with offsets, or tagged pointers. +* Add APIs for implementing write barriers. MMTk provides subusming barriers `object_reference_write()` and pre/post write barriers `object_reference_write_pre/post()`. +* Add APIs for implementing barriers for memory copying such as `array_copy` in Java. MMTk provides `memory_region_copy()` (subsuming) and `memory_region_copy_pre/post()`. +* The `ignore_system_g_c` option is renamed to `ignore_system_gc` to be consistent with our naming convention. +* The `max/min_nursery` option is replaced by `nursery`. Bindings can use `nursery=Fixed:` or `Bounded:` to config the nursery size. +* Metadata access methods now requires a type parameter for the metadata value. +* Metadata compare-exchange methods now return a `Result` rather than a boolean, which is more consistent with Rust atomic types. +* Metadata now supports `fetch_and`, `fetch_or` and `fetch_update`. +* Header metadata access methods in `ObjectModel` now have default implementations. + +Misc +--- +* Remove all stdout printing in MMTk. +* Fix a bug that `CopySpace` should not try zeroing alloc bit if there is no allocation in the space. +* Fix a few issues in documentation. + + 0.14.0 (2022-08-08) === diff --git a/Cargo.toml b/Cargo.toml index 4e7e247152..cf657b7b79 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "mmtk" -version = "0.14.0" +version = "0.15.0" authors = ["The MMTk Developers <>"] edition = "2021" license = "MIT OR Apache-2.0" @@ -20,7 +20,7 @@ doctest = false [dependencies] # MMTk macros -mmtk-macros = { version = "0.14.0", path = "macros/" } +mmtk-macros = { version = "0.15.0", path = "macros/" } libc = "0.2" jemalloc-sys = { version = "0.3.2", features = ["disable_initial_exec_tls"], optional = true } diff --git a/macros/Cargo.toml b/macros/Cargo.toml index a5e2711d05..25379ffc10 100644 --- a/macros/Cargo.toml +++ b/macros/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "mmtk-macros" # the macro crate uses the same version as mmtk-core -version = "0.14.0" +version = "0.15.0" edition = "2021" license = "MIT OR Apache-2.0" description = "MMTk macros provides procedural macros used by mmtk-core."