diff --git a/mmtk/Cargo.lock b/mmtk/Cargo.lock index bd17b57c..eea41fc3 100644 --- a/mmtk/Cargo.lock +++ b/mmtk/Cargo.lock @@ -197,9 +197,9 @@ checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" [[package]] name = "enum-map" -version = "2.6.3" +version = "2.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c188012f8542dee7b3996e44dd89461d64aa471b0a7c71a1ae2f595d259e96e5" +checksum = "53337c2dbf26a3c31eccc73a37b10c1614e8d4ae99b6a50d553e8936423c1f16" dependencies = [ "enum-map-derive", ] @@ -406,7 +406,7 @@ dependencies = [ [[package]] name = "mmtk" version = "0.20.0" -source = "git+https://github.com/mmtk/mmtk-core.git?rev=06a2e5d9773c9f7a32a6afc1add9cef311432dbc#06a2e5d9773c9f7a32a6afc1add9cef311432dbc" +source = "git+https://github.com/mmtk/mmtk-core.git?rev=57af17fbfd94ff0df2cd3b1e504abe299ce4f0ab#57af17fbfd94ff0df2cd3b1e504abe299ce4f0ab" dependencies = [ "atomic", "atomic-traits", @@ -440,7 +440,7 @@ dependencies = [ [[package]] name = "mmtk-macros" version = "0.20.0" -source = "git+https://github.com/mmtk/mmtk-core.git?rev=06a2e5d9773c9f7a32a6afc1add9cef311432dbc#06a2e5d9773c9f7a32a6afc1add9cef311432dbc" +source = "git+https://github.com/mmtk/mmtk-core.git?rev=57af17fbfd94ff0df2cd3b1e504abe299ce4f0ab#57af17fbfd94ff0df2cd3b1e504abe299ce4f0ab" dependencies = [ "proc-macro-error", "proc-macro2", @@ -520,9 +520,9 @@ checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" [[package]] name = "portable-atomic" -version = "1.4.3" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31114a898e107c51bb1609ffaf55a0e011cf6a4d7f1170d0015a165082c0338b" +checksum = "b559898e0b4931ed2d3b959ab0c2da4d99cc644c4b0b1a35b4d344027f474023" [[package]] name = "probe" @@ -632,9 +632,9 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.19" +version = "0.38.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "745ecfa778e66b2b63c88a61cb36e0eea109e803b0b86bf9879fbc77c70e86ed" +checksum = "67ce50cb2e16c2903e30d1cbccfd8387a74b9d4c938b6a4c5ec6cc7556f7a8a0" dependencies = [ "bitflags 2.4.1", "errno", @@ -784,18 +784,18 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.49" +version = "1.0.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1177e8c6d7ede7afde3585fd2513e611227efd6481bd78d2e82ba1ce16557ed4" +checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.49" +version = "1.0.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10712f02019e9288794769fba95cd6847df9874d49d871d062172f9dd41bc4cc" +checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8" dependencies = [ "proc-macro2", "quote", diff --git a/mmtk/Cargo.toml b/mmtk/Cargo.toml index 0558103f..f752ad00 100644 --- a/mmtk/Cargo.toml +++ b/mmtk/Cargo.toml @@ -32,7 +32,7 @@ memoffset = "0.9.0" # - change branch # - change repo name # But other changes including adding/removing whitespaces in commented lines may break the CI. -mmtk = { git = "https://github.com/mmtk/mmtk-core.git", rev = "06a2e5d9773c9f7a32a6afc1add9cef311432dbc" } +mmtk = { git = "https://github.com/mmtk/mmtk-core.git", rev = "57af17fbfd94ff0df2cd3b1e504abe299ce4f0ab" } # Uncomment the following to build locally # mmtk = { path = "../repos/mmtk-core" } diff --git a/mmtk/src/active_plan.rs b/mmtk/src/active_plan.rs index 3b3f3c69..72022ffc 100644 --- a/mmtk/src/active_plan.rs +++ b/mmtk/src/active_plan.rs @@ -4,7 +4,6 @@ use crate::UPCALLS; use mmtk::util::opaque_pointer::*; use mmtk::vm::ActivePlan; use mmtk::Mutator; -use mmtk::Plan; use std::collections::VecDeque; use std::marker::PhantomData; @@ -39,10 +38,6 @@ impl<'a, const COMPRESSED: bool> Iterator for OpenJDKMutatorIterator<'a, COMPRES pub struct VMActivePlan {} impl ActivePlan> for VMActivePlan { - fn global() -> &'static dyn Plan> { - crate::singleton::().get_plan() - } - fn is_mutator(tls: VMThread) -> bool { unsafe { ((*UPCALLS).is_mutator)(tls) } } diff --git a/mmtk/src/api.rs b/mmtk/src/api.rs index 295b4353..10359f5f 100644 --- a/mmtk/src/api.rs +++ b/mmtk/src/api.rs @@ -299,11 +299,6 @@ pub extern "C" fn is_mapped_address(addr: Address) -> bool { memory_manager::is_mapped_address(addr) } -#[no_mangle] -pub extern "C" fn modify_check(object: ObjectReference) { - with_singleton!(|singleton| memory_manager::modify_check(singleton, object)) -} - #[no_mangle] pub extern "C" fn add_weak_candidate(reff: ObjectReference) { with_singleton!(|singleton| memory_manager::add_weak_candidate(singleton, reff)) diff --git a/openjdk/mmtk.h b/openjdk/mmtk.h index f78452e2..1298ee51 100644 --- a/openjdk/mmtk.h +++ b/openjdk/mmtk.h @@ -68,7 +68,6 @@ extern void release_buffer(void** buffer, size_t len, size_t cap); extern bool is_in_mmtk_spaces(void* ref); extern bool is_mapped_address(void* addr); -extern void modify_check(void* ref); // This type declaration needs to match AllocatorSelector in mmtk-core struct AllocatorSelector { diff --git a/openjdk/mmtkMutator.hpp b/openjdk/mmtkMutator.hpp index 3abb51f7..5498df9c 100644 --- a/openjdk/mmtkMutator.hpp +++ b/openjdk/mmtkMutator.hpp @@ -33,13 +33,13 @@ struct BumpAllocator { void* cursor; void* limit; RustDynPtr space; - RustDynPtr plan; + void* context; }; struct LargeObjectAllocator { void* tls; void* space; - RustDynPtr plan; + void* context; }; struct ImmixAllocator { @@ -47,7 +47,7 @@ struct ImmixAllocator { void* cursor; void* limit; void* immix_space; - RustDynPtr plan; + void* context; uint8_t hot; uint8_t copy; void* large_cursor; @@ -72,7 +72,7 @@ struct FLBlockList { struct FreeListAllocator { void* tls; void* space; - RustDynPtr plan; + void* context; FLBlockList* available_blocks; FLBlockList* available_blocks_stress; FLBlockList* unswept_blocks; @@ -82,7 +82,7 @@ struct FreeListAllocator { struct MallocAllocator { void* tls; void* space; - RustDynPtr plan; + void* context; }; struct MarkCompactAllocator {