Skip to content

Commit

Permalink
Force fixed heap size when using NoGC
Browse files Browse the repository at this point in the history
  • Loading branch information
wks committed Jan 16, 2025
1 parent 2f6f078 commit fe4a648
Showing 1 changed file with 13 additions and 4 deletions.
17 changes: 13 additions & 4 deletions src/util/heap/gc_trigger.rs
Original file line number Diff line number Diff line change
Expand Up @@ -40,10 +40,19 @@ impl<VM: VMBinding> GCTrigger<VM> {
GCTriggerSelector::FixedHeapSize(size) => Box::new(FixedHeapSizeTrigger {
total_pages: conversions::bytes_to_pages_up(size),
}),
GCTriggerSelector::DynamicHeapSize(min, max) => Box::new(MemBalancerTrigger::new(
conversions::bytes_to_pages_up(min),
conversions::bytes_to_pages_up(max),
)),
GCTriggerSelector::DynamicHeapSize(min, max) => 'dynamic_heap_size: {
let min_pages = conversions::bytes_to_pages_up(min);
let max_pages = conversions::bytes_to_pages_up(max);

if *options.plan == crate::util::options::PlanSelector::NoGC {
warn!("Cannot use dynamic heap size with NoGC. Using fixed heap size trigger instead.");
break 'dynamic_heap_size Box::new(FixedHeapSizeTrigger {
total_pages: max_pages,
});
}

Box::new(MemBalancerTrigger::new(min_pages, max_pages))
}
GCTriggerSelector::Delegated => {
<VM::VMCollection as crate::vm::Collection<VM>>::create_gc_trigger()
}
Expand Down

0 comments on commit fe4a648

Please sign in to comment.