emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 669aeaf: Prefer make_nil_vector to make-vector with nil


From: Paul Eggert
Subject: master 669aeaf: Prefer make_nil_vector to make-vector with nil
Date: Tue, 11 Aug 2020 13:30:10 -0400 (EDT)

branch: master
commit 669aeafbd14b0ebb824bacba0a6b3daad30847a9
Author: Paul Eggert <eggert@cs.ucla.edu>
Commit: Paul Eggert <eggert@cs.ucla.edu>

    Prefer make_nil_vector to make-vector with nil
    
    * 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    | 3 ++-
 src/pdumper.c | 4 +++-
 src/timefns.c | 2 +-
 3 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/lisp.h b/src/lisp.h
index d88038d..2962bab 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -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)
diff --git a/src/pdumper.c b/src/pdumper.c
index 6c581bc..aaa760d 100644
--- a/src/pdumper.c
+++ b/src/pdumper.c
@@ -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));
 
diff --git a/src/timefns.c b/src/timefns.c
index 7bcc37d..94cfddf 100644
--- a/src/timefns.c
+++ b/src/timefns.c
@@ -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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]