]> git.eshelyaron.com Git - emacs.git/commit
Simplify hashfn/cmpfn calling convention
authorPaul Eggert <eggert@cs.ucla.edu>
Sun, 21 Jul 2019 02:40:03 +0000 (19:40 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Sun, 21 Jul 2019 03:13:46 +0000 (20:13 -0700)
commitb6f194a0fb6dbd1b19aa01f95a955f5b8b23b40e
tree009e3beff4781c98e733657d60003b3eee97e068
parent5018b663c6c0d31f27fb44630a69d9e0bd73273d
Simplify hashfn/cmpfn calling convention

* src/fns.c (cmpfn_eql, cmpfn_equal, cmpfn_user_defined)
(hashfn_eq, hashfn_equal, hashfn_eql, hashfn_user_defined):
* src/profiler.c (cmpfn_profiler, hashfn_profiler):
Use new calling convention where the return value is a fixnum
instead of EMACS_UINT.  While we’re at it, put the hash table
at the end, since that’s a bit simpler and generates better
code (at least on the x86-64).  All callers changed.
* src/fns.c (hash_lookup): Store fixnum rather than EMACS_UINT.
All callers changed.
(hash_put): Take a fixnum rather than an EMACS_UINT.
All callers changed.  Remove unnecessary eassert (XUFIXNUM does it).
* src/lisp.h (struct hash_table_test):
Adjust signatures of cmpfn and hashfn.
12 files changed:
src/bytecode.c
src/category.c
src/charset.c
src/composite.c
src/emacs-module.c
src/fns.c
src/image.c
src/json.c
src/lisp.h
src/lread.c
src/macfont.m
src/profiler.c