aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMattias EngdegÄrd2024-01-07 18:52:48 +0100
committerMattias EngdegÄrd2024-01-12 18:03:05 +0100
commit8b7a6d7b6deca9346092501dbfa679e3e5ea5892 (patch)
treea08e1c6a4a946e422de1b22bf6f2b45aa558b6e7 /src
parent4b7985db11c0fd3a3346a05f271eff9ad687851b (diff)
downloademacs-8b7a6d7b6deca9346092501dbfa679e3e5ea5892.tar.gz
emacs-8b7a6d7b6deca9346092501dbfa679e3e5ea5892.zip
; * src/lisp.h (struct Lisp_Hash_Table): Add ASCII art.
Diffstat (limited to 'src')
-rw-r--r--src/lisp.h28
1 files changed, 25 insertions, 3 deletions
diff --git a/src/lisp.h b/src/lisp.h
index 0421cb68c10..e80a6388657 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -2405,11 +2405,33 @@ struct hash_table_test
2405 2405
2406struct Lisp_Hash_Table 2406struct Lisp_Hash_Table
2407{ 2407{
2408 /* Change pdumper.c if you change the fields here. */
2409
2410 /* This is for Lisp; the hash table code does not refer to it. */
2411 union vectorlike_header header; 2408 union vectorlike_header header;
2412 2409
2410 /* Hash table internal structure:
2411
2412 Lisp key index table
2413 | vector
2414 | hash fn hash key value next
2415 v +--+ +------+-------+------+----+
2416 hash value |-1| | C351 | cow | moo | -1 |<-
2417 | +--+ +------+-------+------+----+ |
2418 ------------>| -------->| 07A8 | cat | meow | -1 | |
2419 range +--+ +------+-------+------+----+ |
2420 reduction |-1| ->| 91D2 | dog | woof | ----
2421 +--+ | +------+-------+------+----+
2422 | ------ | ? |unbound| ? | -1 |<-
2423 +--+ +------+-------+------+----+ |
2424 | -------->| F6B0 | duck |quack | -1 | |
2425 +--+ +------+-------+------+----+ |
2426 |-1| ->| ? |unbound| ? | ----
2427 +--+ | +------+-------+------+----+
2428 : : | : : : : :
2429 |
2430 next_free
2431
2432 The table is physically split into three vectors (hash, next,
2433 key_and_value) which may or may not be beneficial. */
2434
2413 /* Nil if table is non-weak. Otherwise a symbol describing the 2435 /* Nil if table is non-weak. Otherwise a symbol describing the
2414 weakness of the table. */ 2436 weakness of the table. */
2415 Lisp_Object weak; 2437 Lisp_Object weak;