diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2017-02-21 15:31:29 -0800 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2017-02-21 15:39:17 -0800 |
commit | 5cbdaa98f975c870c4afa24346630a18b55f27ab (patch) | |
tree | b0a776c467e6b1d53fd1e2837305fbc512803df7 /doc/lispref | |
parent | 7207b63c8e290ddec33908ce8d38be5793388318 (diff) | |
download | emacs-5cbdaa98f975c870c4afa24346630a18b55f27ab.tar.gz |
Use ptrdiff_t instead of Lisp_Object for collision
* src/alloc.c (purecopy_hash_table): Assign, don’t purecopy.
* src/fns.c (set_hash_next_slot, set_hash_index_slot): Hash index
arg is now ptrdiff_t index (or -1 if empty), not Lisp_Object
integer (or Qnil if empty). All callers changed.
(larger_vecalloc): New static function.
(larger_vector): Use it.
(HASH_NEXT, HASH_INDEX): Move here from lisp.h. Return ptrdiff_t
index (or -1) not Lisp_Object integer (or Qnil). All callers changed.
* src/fns.c (make_hash_table, maybe_resize_hash_table, hash_lookup)
(hash_put, hash_remove_from_table, hash_clear, sweep_weak_table):
* src/profiler.c (evict_lower_half, record_backtrace):
-1, not nil, is now the convention for end of collision list.
* src/fns.c (maybe_resize_hash_table): Avoid double-initialization
of the free list. Reallocate H->next last, in case other
reallocations exhaust memory.
* src/lisp.h (struct Lisp_Hash_Table): ‘next_free’ is now
ptrdiff_t, not Lisp_Object. Adjust commentary for ‘next’ and
‘index’, which no longer contain nil.
(HASH_NEXT, HASH_INDEX): Move to src/fns.c.
Diffstat (limited to 'doc/lispref')
0 files changed, 0 insertions, 0 deletions