From eeef4d29d68285a505468715bccc892db76f1267 Mon Sep 17 00:00:00 2001 From: Nuno Lopes Date: Wed, 1 Jul 2015 14:38:33 +0100 Subject: [PATCH] remove the optimization for 0-byte allocations I wasn't able to trigger with any SMT or API benchmark Removing it ensures the function never returns null and enables further optimizations. I get an amazing avg speedup of 0.9% Signed-off-by: Nuno Lopes --- src/util/memory_manager.cpp | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/util/memory_manager.cpp b/src/util/memory_manager.cpp index f207fa969..d7cd26896 100644 --- a/src/util/memory_manager.cpp +++ b/src/util/memory_manager.cpp @@ -279,8 +279,6 @@ void memory::deallocate(void * p) { } void * memory::allocate(size_t s) { - if (s == 0) - return 0; s = s + sizeof(size_t); // we allocate an extra field! void * r = malloc(s); if (r == 0) @@ -333,8 +331,6 @@ void memory::deallocate(void * p) { } void * memory::allocate(size_t s) { - if (s == 0) - return 0; s = s + sizeof(size_t); // we allocate an extra field! bool out_of_mem = false, counts_exceeded = false; #pragma omp critical (z3_memory_manager)