diff --git a/lang/src/son/hbvm/regalloc.rs b/lang/src/son/hbvm/regalloc.rs index 20828d7..aa47d6e 100644 --- a/lang/src/son/hbvm/regalloc.rs +++ b/lang/src/son/hbvm/regalloc.rs @@ -301,10 +301,11 @@ impl HbvmBackend { let bundle_count = self.ralloc.bundles.len() + (reg_offset as usize); ( if tail { + debug_assert!(bundle_count >= reg::RET_ADDR as _); + bundle_count.saturating_sub(reg::RET_ADDR as _) + } else { assert!(bundle_count < reg::STACK_PTR as usize, "TODO: spill memory"); self.ralloc.bundles.len() - } else { - bundle_count.saturating_sub(reg::RET_ADDR as _) }, tail, )