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.
This commit is contained in:
parent
f8a8da2535
commit
130056880f
1 changed files with 2 additions and 7 deletions
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue