diff options
author | Matt Valentine-House <[email protected]> | 2024-12-05 14:41:05 +0000 |
---|---|---|
committer | git <[email protected]> | 2024-12-05 16:28:02 +0000 |
commit | d8dbc2dcba43ff36221f6549205d2d4cf64b760c (patch) | |
tree | a8a3b9d852339ff5638e5a1758544df92fdd2bb0 /gc/mmtk/src | |
parent | ce1ad1b816f912d0750669c57211d72ea723e28d (diff) |
[ruby/mmtk] Support setting the mmtk thread count with MMTK_THREADS
https://github.com/ruby/mmtk/commit/e4d6b56824
Diffstat (limited to 'gc/mmtk/src')
-rw-r--r-- | gc/mmtk/src/api.rs | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/gc/mmtk/src/api.rs b/gc/mmtk/src/api.rs index b3d4c90f87..ae626a4a0f 100644 --- a/gc/mmtk/src/api.rs +++ b/gc/mmtk/src/api.rs @@ -44,6 +44,11 @@ pub extern "C" fn mmtk_builder_default() -> *mut MMTKBuilder { const DEFAULT_HEAP_MIN: usize = 1 << 20; + let mmtk_threads: usize = std::env::var("MMTK_THREADS") + .unwrap_or("0".to_string()) + .parse::<usize>() + .unwrap_or(0); + let mut mmtk_heap_min = match std::env::var("MMTK_HEAP_MIN") { Ok(min) => { let capa = parse_capacity(&min, DEFAULT_HEAP_MIN); @@ -90,6 +95,10 @@ pub extern "C" fn mmtk_builder_default() -> *mut MMTKBuilder { // Between 1MiB and 500MiB builder.options.gc_trigger.set(mmtk_mode); + if mmtk_threads > 0 { + builder.options.threads.set(mmtk_threads); + } + Box::into_raw(Box::new(builder)) } |