From a597969f1360b8c28fd4467018792662b698e03a Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Sun, 3 Dec 2017 18:17:00 -0800 Subject: [PATCH] allocate_vectorlike minor cleanup MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit * src/alloc.c (allocate_vectorlike): Move a bit of code out of the critical section. Although this doesn’t really help performance, it cleans up the code a bit and should make it easier to add pointer bounds checking. --- src/alloc.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/src/alloc.c b/src/alloc.c index 49c99501f11..4f3928a4824 100644 --- a/src/alloc.c +++ b/src/alloc.c @@ -3317,15 +3317,14 @@ sweep_vectors (void) static struct Lisp_Vector * allocate_vectorlike (ptrdiff_t len) { - struct Lisp_Vector *p; - - MALLOC_BLOCK_INPUT; - if (len == 0) - p = XVECTOR (zero_vector); + return XVECTOR (zero_vector); else { size_t nbytes = header_size + len * word_size; + struct Lisp_Vector *p; + + MALLOC_BLOCK_INPUT; #ifdef DOUG_LEA_MALLOC if (!mmap_lisp_allowed_p ()) @@ -3355,11 +3354,11 @@ allocate_vectorlike (ptrdiff_t len) consing_since_gc += nbytes; vector_cells_consed += len; - } - MALLOC_UNBLOCK_INPUT; + MALLOC_UNBLOCK_INPUT; - return p; + return p; + } } -- 2.39.5