summaryrefslogtreecommitdiff
path: root/src/pdumper.c
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2019-07-26 13:29:35 -0400
committerStefan Monnier <monnier@iro.umontreal.ca>2019-07-26 15:03:03 -0400
commitbbff294bf455a9ad4ae66edce8e70f29a40e2e6d (patch)
treed0285a4db6957074c22d074cc2a98eba36c3b6ea /src/pdumper.c
parentaabb844e45642d6bf80673159dae18f4ea3693e4 (diff)
downloademacs-bbff294bf455a9ad4ae66edce8e70f29a40e2e6d.tar.gz
emacs-bbff294bf455a9ad4ae66edce8e70f29a40e2e6d.tar.bz2
emacs-bbff294bf455a9ad4ae66edce8e70f29a40e2e6d.zip
* src/fns.c (hash_index_size): New function, extracted from make_hash_table
(make_hash_table, maybe_resize_hash_table): Use it. * src/pdumper.c (check_hash_table_rehash): Use hash_rehash_needed_p.
Diffstat (limited to 'src/pdumper.c')
-rw-r--r--src/pdumper.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/pdumper.c b/src/pdumper.c
index 1504f75c825..4ba819b4103 100644
--- a/src/pdumper.c
+++ b/src/pdumper.c
@@ -2662,13 +2662,14 @@ hash_table_contents (Lisp_Object table)
static void
check_hash_table_rehash (Lisp_Object table_orig)
{
+ ptrdiff_t count = XHASH_TABLE (table_orig)->count;
hash_rehash_if_needed (XHASH_TABLE (table_orig));
Lisp_Object table_rehashed = Fcopy_hash_table (table_orig);
- eassert (XHASH_TABLE (table_rehashed)->count >= 0);
+ eassert (!hash_rehash_needed_p (XHASH_TABLE (table_rehashed)));
XHASH_TABLE (table_rehashed)->count *= -1;
- eassert (XHASH_TABLE (table_rehashed)->count <= 0);
+ eassert (count == 0 || hash_rehash_needed_p (XHASH_TABLE (table_rehashed)));
hash_rehash_if_needed (XHASH_TABLE (table_rehashed));
- eassert (XHASH_TABLE (table_rehashed)->count >= 0);
+ eassert (!hash_rehash_needed_p (XHASH_TABLE (table_rehashed)));
Lisp_Object expected_contents = hash_table_contents (table_orig);
while (!NILP (expected_contents))
{