aboutsummaryrefslogtreecommitdiffstats
path: root/src/alloc.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/alloc.c')
-rw-r--r--src/alloc.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/alloc.c b/src/alloc.c
index 2c7b02f1158..d758ca18a7b 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -3175,9 +3175,10 @@ allocate_pseudovector (int memlen, int lisplen,
3175 eassert (lisplen <= (1 << PSEUDOVECTOR_SIZE_BITS) - 1); 3175 eassert (lisplen <= (1 << PSEUDOVECTOR_SIZE_BITS) - 1);
3176 3176
3177 /* Only the first LISPLEN slots will be traced normally by the GC. 3177 /* Only the first LISPLEN slots will be traced normally by the GC.
3178 But since Qnil == 0, we can memset Lisp_Object slots as well. */ 3178 If Qnil is nonzero, clear the non-Lisp data separately. */
3179 verify (NIL_IS_ZERO); 3179 memsetnil (v->contents, zerolen);
3180 memset (v->contents, 0, zerolen * word_size); 3180 if (NIL_IS_NONZERO)
3181 memset (v->contents + lisplen, 0, (zerolen - lisplen) * word_size);
3181 3182
3182 XSETPVECTYPESIZE (v, tag, lisplen, memlen - lisplen); 3183 XSETPVECTYPESIZE (v, tag, lisplen, memlen - lisplen);
3183 return v; 3184 return v;