From 2dc7d181de8b41d5989a5dbf424980645341904d Mon Sep 17 00:00:00 2001 From: Joe Bryan Date: Thu, 12 Oct 2023 21:50:58 -0400 Subject: [PATCH] u3: refactors _box_slot() --- pkg/noun/allocate.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/pkg/noun/allocate.c b/pkg/noun/allocate.c index 90f1b624fc..ae022592c2 100644 --- a/pkg/noun/allocate.c +++ b/pkg/noun/allocate.c @@ -87,18 +87,18 @@ _box_count(c3_ws siz_ws) { } static c3_w _box_slot(c3_w siz_w) { - if ( u3a_minimum == siz_w ) return 0; - - c3_dessert( u3a_minimum <= siz_w ); - - { - c3_w bit_w = c3_bits_word(siz_w); - - if ( 5 > bit_w ) return 1; - if ( (u3a_fbox_no + 1) >= bit_w ) return bit_w - 3; + if ( u3a_minimum == siz_w ) { + return 0; + } + else if ( !(siz_w >> 4) ) { + c3_dessert( u3a_minimum < siz_w ); + return 1; + } + else { + c3_w bit_w = c3_bits_word(siz_w) - 3; + c3_w max_w = u3a_fbox_no - 1; + return c3_min(bit_w, max_w); } - - return u3a_fbox_no - 1; } /* _box_make(): construct a box.