From d8dbc2dcba43ff36221f6549205d2d4cf64b760c Mon Sep 17 00:00:00 2001 From: Matt Valentine-House Date: Thu, 5 Dec 2024 14:41:05 +0000 Subject: [ruby/mmtk] Support setting the mmtk thread count with MMTK_THREADS https://github.com/ruby/mmtk/commit/e4d6b56824 --- gc/mmtk/src/api.rs | 9 +++++++++ 1 file changed, 9 insertions(+) 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::() + .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)) } -- cgit v1.2.3