From a96e8f991c91a81df51e7975849441f52fdbcdcc Mon Sep 17 00:00:00 2001 From: Yi Lin Date: Mon, 8 Aug 2022 21:19:57 +1200 Subject: [PATCH] Bump version to v0.14. (#637) --- CHANGELOG.md | 30 ++++++++++++++++++++++++++++++ Cargo.toml | 4 ++-- macros/Cargo.toml | 2 +- 3 files changed, 33 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 29ef0a7b45..d7c0b664ae 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,33 @@ +0.14.0 (2022-08-08) +=== + +API +--- +* `ProcessEdgesWork` is no longer exposed in the `Scanning` trait. Instead, `RootsWorkFactory` is introduced + for the bindings to create more work packets. +* `Collection::stop_all_mutators()` now provides a callback `mutator_visitor`. The implementation is required + to call `mutator_visitor` for each mutator once it is stopped. This requirement was implicit prior to this change. +* Now MMTk creation is done in the builder pattern: + * `MMTKBuilder` is introduced. Command line argument processing API (`process()` and `process_bulk()`) now + takes `&MMTKBuilder` as an argument instead of `&MMTK`. + * `gc_init()` is renamed to `mmtk_init()`. `mmtk_init()` now takes `&MMTKBuilder` as an argument, + and returns an MMTk instance `Box`. + * `heap_size` (which used to be an argument for `gc_init()`) is now an MMTk option. + * All the options now can be set through the command line argument processing API. +* Node enqueuing is supported: + * Add `Scanning::support_edge_enqueuing()`. A binding may return `false` if they cannot do edge scanning for certain objects. + * For objects that cannot be enqueued as edges, `Scanning::scan_object_and_trace_edges()` will be called. + + +Scheduler +--- +* Fixed a bug that may cause deadlock when GC workers are parked and the coordinator is still executing work. + +Misc +--- +* `Plan::gc_init()` and `Space::init()` are removed. Initialization is now properly done in the respective constructors. + + 0.13.0 (2022-06-27) === diff --git a/Cargo.toml b/Cargo.toml index 7f1d03d29d..c9ae4747a2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "mmtk" -version = "0.13.0" +version = "0.14.0" authors = ["The MMTk Developers <>"] edition = "2021" license = "MIT OR Apache-2.0" @@ -19,7 +19,7 @@ doctest = false [dependencies] # MMTk macros -mmtk-macros = { version = "0.13.0", path = "macros/" } +mmtk-macros = { version = "0.14.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 735a914869..a5e2711d05 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.13.0" +version = "0.14.0" edition = "2021" license = "MIT OR Apache-2.0" description = "MMTk macros provides procedural macros used by mmtk-core."