From: Paul Eggert Date: Fri, 5 Feb 2016 22:37:09 +0000 (-0800) Subject: Omit XLI (init) == 0 optimization in make-vector X-Git-Tag: emacs-26.0.90~2727 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=130056880fe9d807fbaee5bc5f68249ea9cf6438;p=emacs.git Omit XLI (init) == 0 optimization in make-vector * src/alloc.c (Fmake_vector): Simplify by omitting the (XLI (init) == 0) case, as this optimization is probably not worth the hassle. Just for the record, the test for that case could have been (XLI (init) % ((EMACS_UINT) -1 / UCHAR_MAX) == 0) (!), assuming the typical platform with no padding bits and where conversion to int omits the most significant bits. --- diff --git a/src/alloc.c b/src/alloc.c index 031c78c07ca..92945bc8afc 100644 --- a/src/alloc.c +++ b/src/alloc.c @@ -3321,14 +3321,9 @@ See also the function `vector'. */) (Lisp_Object length, Lisp_Object init) { CHECK_NATNUM (length); - struct Lisp_Vector *p = allocate_vector (XFASTINT (length)); - if (XLI (init) == 0) - memset (p->contents, 0, XFASTINT (length) * sizeof p->contents[0]); - else - for (ptrdiff_t i = 0; i < XFASTINT (length); i++) - p->contents[i] = init; - + for (ptrdiff_t i = 0; i < XFASTINT (length); i++) + p->contents[i] = init; return make_lisp_ptr (p, Lisp_Vectorlike); }