Commit 13005688 authored by Paul Eggert's avatar Paul Eggert
Browse files

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.
parent f8a8da25
......@@ -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);
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment