diff options
author | Pip Cet <pipcet@gmail.com> | 2020-08-11 02:16:53 -0700 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2020-08-11 02:27:43 -0700 |
commit | 16a16645f524c62f7906036b0e383e4247b58de7 (patch) | |
tree | ec9af0e89b5494707fc630d5cebec267737d98d7 /src/composite.c | |
parent | 0d0aad213f941efc0fa0ec032e37dc9c2b08c9fb (diff) | |
download | emacs-16a16645f524c62f7906036b0e383e4247b58de7.tar.gz |
Rehash hash tables eagerly after loading a dump
This simplifies code, and helps performance in some cases (Bug#36597).
* src/lisp.h (hash_rehash_needed_p): Remove. All uses removed.
(hash_rehash_if_needed): Remove. All uses removed.
(struct Lisp_Hash_Table): Remove comment about rehashing hash tables.
* src/pdumper.c (thaw_hash_tables): New function.
(hash_table_thaw): New function.
(hash_table_freeze): New function.
(dump_hash_table): Simplify.
(dump_hash_table_list): New function.
(hash_table_contents): New function.
(Fdump_emacs_portable): Handle hash tables by eager rehashing.
(pdumper_load): Restore hash tables.
(init_pdumper_once): New function.
Diffstat (limited to 'src/composite.c')
-rw-r--r-- | src/composite.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/src/composite.c b/src/composite.c index f96f0b77726..ec2b8328f78 100644 --- a/src/composite.c +++ b/src/composite.c @@ -652,7 +652,6 @@ Lisp_Object composition_gstring_put_cache (Lisp_Object gstring, ptrdiff_t len) { struct Lisp_Hash_Table *h = XHASH_TABLE (gstring_hash_table); - hash_rehash_if_needed (h); Lisp_Object header = LGSTRING_HEADER (gstring); Lisp_Object hash = h->test.hashfn (header, h); if (len < 0) |