diff options
-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)) } |