BlockAlloc.c: reuse tail_of function
authorÖmer Sinan Ağacan <omeragacan@gmail.com>
Fri, 11 May 2018 07:24:00 +0000 (10:24 +0300)
committerÖmer Sinan Ağacan <omeragacan@gmail.com>
Fri, 11 May 2018 07:24:00 +0000 (10:24 +0300)
rts/sm/BlockAlloc.c

index 2a02ecc..bbb4f8a 100644 (file)
@@ -210,6 +210,12 @@ void recordFreedBlocks(uint32_t node, uint32_t n)
    Allocation
    -------------------------------------------------------------------------- */
 
+STATIC_INLINE bdescr *
+tail_of (bdescr *bd)
+{
+    return bd + bd->blocks - 1;
+}
+
 STATIC_INLINE void
 initGroup(bdescr *head)
 {
@@ -223,7 +229,7 @@ initGroup(bdescr *head)
   // mblocks don't have bdescrs; freeing these is handled in a
   // different way by free_mblock_group().
   if (head->blocks > 1 && head->blocks <= BLOCKS_PER_MBLOCK) {
-      bdescr *last = head + head->blocks-1;
+      bdescr *last = tail_of(head);
       last->blocks = 0;
       last->link = head;
   }
@@ -285,13 +291,6 @@ free_list_insert (uint32_t node, bdescr *bd)
     dbl_link_onto(bd, &free_list[node][ln]);
 }
 
-
-STATIC_INLINE bdescr *
-tail_of (bdescr *bd)
-{
-    return bd + bd->blocks - 1;
-}
-
 // After splitting a group, the last block of each group must have a
 // tail that points to the head block, to keep our invariants for
 // coalescing.