diff options
| author | Mattias EngdegÄrd | 2023-10-29 11:57:06 +0100 |
|---|---|---|
| committer | Mattias EngdegÄrd | 2024-01-13 20:50:38 +0100 |
| commit | a3ae5653cfe1ab2b3eb4c77ce729844ad442b562 (patch) | |
| tree | 660892925e71fc631389825b8bf729b5c604f730 /src/alloc.c | |
| parent | fa5c07fc87d557e642fc325852e8d0c87a9c176e (diff) | |
| download | emacs-a3ae5653cfe1ab2b3eb4c77ce729844ad442b562.tar.gz emacs-a3ae5653cfe1ab2b3eb4c77ce729844ad442b562.zip | |
Store hash values as integers instead of Lisp_Object
This improves typing, saves pointless tagging and untagging, and
prepares for further changes. The new typedef hash_hash_t is an alias
for EMACS_UINT, and hash values are still limited to the fixnum range.
We now use hash_unused instead of Qnil to mark unused entries.
* src/lisp.h (hash_hash_t): New typedef for EMACS_UINT.
(hash_unused): New constant.
(struct hash_table_test): `hashfn` now returns
hash_hash_t. All callers and implementations changed.
(struct Lisp_Hash_Table): Retype hash vector to an array of
hash_hash_t. All code using it changed accordingly.
(HASH_HASH, hash_from_key):
* src/fns.c (set_hash_index_slot, hash_index_index)
(hash_lookup_with_hash, hash_lookup_get_hash, hash_put):
(hash_lookup, hash_put): Retype hash value arguments
and return values. All callers adapted.
Diffstat (limited to 'src/alloc.c')
0 files changed, 0 insertions, 0 deletions