From 2b6a266b93d3491e94583902812b04bd2065380f Mon Sep 17 00:00:00 2001 From: Patrick Pelissier Date: Sat, 22 Sep 2018 11:58:22 +0200 Subject: [PATCH] Optimize _pop_back for dual push list. --- m-list.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/m-list.h b/m-list.h index ff9e7227..ad9e31b2 100644 --- a/m-list.h +++ b/m-list.h @@ -861,9 +861,10 @@ assert (v->back != NULL); \ struct M_C(name, _s) *tofree = v->back; \ if (data != NULL) { \ - M_CALL_SET(oplist, *data, tofree->data); \ + M_DO_MOVE(oplist, *data, tofree->data); \ + } else { \ + M_CALL_CLEAR(oplist, tofree->data); \ } \ - M_CALL_CLEAR(oplist, tofree->data); \ v->back = tofree->next; \ M_C(name,_int_del)(tofree); \ /* Update front too if the list became empty */ \