Commit 170e0df7 authored by Andrea Shepard's avatar Andrea Shepard
Browse files

Eliminate #ifdef ENABLE_MEMPOOLS in packed_cell_new/free()

parent b3edd040
Loading
Loading
Loading
Loading
+19 −15
Original line number Diff line number Diff line
@@ -2268,6 +2268,22 @@ clean_cell_pool(void)
  mp_pool_clean(cell_pool, 0, 1);
}

#define relay_alloc_cell() \
  mp_pool_get(cell_pool)
#define relay_free_cell(cell) \
  mp_pool_release(cell)

#define RELAY_CELL_MEM_COST (sizeof(packed_cell_t) + MP_POOL_ITEM_OVERHEAD)

#else /* !ENABLE_MEMPOOLS case */

#define relay_alloc_cell() \
  tor_malloc_zero(sizeof(packed_cell_t))
#define relay_free_cell(cell) \
  tor_free(cell)

#define RELAY_CELL_MEM_COST (sizeof(packed_cell_t))

#endif /* ENABLE_MEMPOOLS */

/** Release storage held by <b>cell</b>. */
@@ -2275,11 +2291,7 @@ static INLINE void
packed_cell_free_unchecked(packed_cell_t *cell)
{
  --total_cells_allocated;
#ifdef ENABLE_MEMPOOLS
  mp_pool_release(cell);
#else
  tor_free(cell);
#endif /* ENABLE_MEMPOOLS */
  relay_free_cell(cell);
}

/** Allocate and return a new packed_cell_t. */
@@ -2287,11 +2299,7 @@ STATIC packed_cell_t *
packed_cell_new(void)
{
  ++total_cells_allocated;
#ifdef ENABLE_MEMPOOLS
  return mp_pool_get(cell_pool);
#else
  return tor_malloc(sizeof(packed_cell_t));
#endif
  return relay_alloc_cell();
}

/** Return a packed cell used outside by channel_t lower layer */
@@ -2402,11 +2410,7 @@ cell_queue_pop(cell_queue_t *queue)
size_t
packed_cell_mem_cost(void)
{
#ifdef ENABLE_MEMPOOLS
  return sizeof(packed_cell_t) + MP_POOL_ITEM_OVERHEAD;
#else
  return sizeof(packed_cell_t);
#endif /* ENABLE_MEMPOOLS */
  return RELAY_CELL_MEM_COST;
}

/** DOCDOC */