diff options
| author | Paul Eggert | 2019-07-20 19:40:03 -0700 |
|---|---|---|
| committer | Paul Eggert | 2019-07-20 20:13:46 -0700 |
| commit | b6f194a0fb6dbd1b19aa01f95a955f5b8b23b40e (patch) | |
| tree | 009e3beff4781c98e733657d60003b3eee97e068 /src/json.c | |
| parent | 5018b663c6c0d31f27fb44630a69d9e0bd73273d (diff) | |
| download | emacs-b6f194a0fb6dbd1b19aa01f95a955f5b8b23b40e.tar.gz emacs-b6f194a0fb6dbd1b19aa01f95a955f5b8b23b40e.zip | |
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.
Diffstat (limited to 'src/json.c')
| -rw-r--r-- | src/json.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/json.c b/src/json.c index 21c4b946b4e..d05f2c54e2c 100644 --- a/src/json.c +++ b/src/json.c | |||
| @@ -867,8 +867,7 @@ json_to_lisp (json_t *json, struct json_configuration *conf) | |||
| 867 | json_t *value; | 867 | json_t *value; |
| 868 | json_object_foreach (json, key_str, value) | 868 | json_object_foreach (json, key_str, value) |
| 869 | { | 869 | { |
| 870 | Lisp_Object key = build_string_from_utf8 (key_str); | 870 | Lisp_Object key = build_string_from_utf8 (key_str), hash; |
| 871 | EMACS_UINT hash; | ||
| 872 | ptrdiff_t i = hash_lookup (h, key, &hash); | 871 | ptrdiff_t i = hash_lookup (h, key, &hash); |
| 873 | /* Keys in JSON objects are unique, so the key can't | 872 | /* Keys in JSON objects are unique, so the key can't |
| 874 | be present yet. */ | 873 | be present yet. */ |