]> git.eshelyaron.com Git - emacs.git/commitdiff
Prefer make_nil_vector to make-vector with nil
authorPaul Eggert <eggert@cs.ucla.edu>
Tue, 11 Aug 2020 17:29:02 +0000 (10:29 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Tue, 11 Aug 2020 17:30:05 +0000 (10:30 -0700)
* src/pdumper.c (hash_table_thaw): Pacify -Wconversion so
we can use make_nil_vector again.
* src/timefns.c (syms_of_timefns): Prefer make_nil_vector
to make_vector with Qnil.

src/lisp.h
src/pdumper.c
src/timefns.c

index d88038d91be543b80d1a17a880d273a736920953..2962babb4fefe452a809c9ec6a13dc89f53018fb 100644 (file)
@@ -3947,7 +3947,8 @@ make_uninit_sub_char_table (int depth, int min_char)
   return v;
 }
 
-/* Make a vector of SIZE nils.  */
+/* Make a vector of SIZE nils - faster than make_vector (size, Qnil)
+   if the OS already cleared the new memory.  */
 
 INLINE Lisp_Object
 make_nil_vector (ptrdiff_t size)
index 6c581bcd0bc52e76712c1d5fc217176b2fd9a374..aaa760d70d20246a572adbc52167f57af0730ba2 100644 (file)
@@ -2664,7 +2664,9 @@ static void
 hash_table_thaw (Lisp_Object hash)
 {
   struct Lisp_Hash_Table *h = XHASH_TABLE (hash);
-  h->hash = Fmake_vector (h->hash, Qnil);
+  ALLOW_IMPLICIT_CONVERSION;
+  h->hash = make_nil_vector (XFIXNUM (h->hash));
+  DISALLOW_IMPLICIT_CONVERSION;
   h->next = Fmake_vector (h->next, make_fixnum (-1));
   h->index = Fmake_vector (h->index, make_fixnum (-1));
 
index 7bcc37d7c1ebc8f76bd0bef5e846687f7037cc08..94cfddf0da9bc1536318e802b0ff5359ffc708a6 100644 (file)
@@ -2048,7 +2048,7 @@ syms_of_timefns (void)
   defsubr (&Scurrent_time_zone);
   defsubr (&Sset_time_zone_rule);
 
-  flt_radix_power = make_vector (flt_radix_power_size, Qnil);
+  flt_radix_power = make_nil_vector (flt_radix_power_size);
   staticpro (&flt_radix_power);
 
 #ifdef NEED_ZTRILLION_INIT