summaryrefslogtreecommitdiff
path: root/doc/lispref
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2017-02-21 15:31:29 -0800
committerPaul Eggert <eggert@cs.ucla.edu>2017-02-21 15:39:17 -0800
commit5cbdaa98f975c870c4afa24346630a18b55f27ab (patch)
treeb0a776c467e6b1d53fd1e2837305fbc512803df7 /doc/lispref
parent7207b63c8e290ddec33908ce8d38be5793388318 (diff)
downloademacs-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