diff options
| author | Mattias EngdegÄrd | 2023-11-02 17:05:26 +0100 |
|---|---|---|
| committer | Mattias EngdegÄrd | 2024-01-13 20:50:38 +0100 |
| commit | 7d93a0147a14e14d6964bf93ba11cf494b9d49fd (patch) | |
| tree | 2cce6ad4b4476616e0be3dc1fcf5f68d2ae7692d /src/pgtkterm.c | |
| parent | 0a998938ca1b7e5e6f09d14b4a62ec7089be2af6 (diff) | |
| download | emacs-7d93a0147a14e14d6964bf93ba11cf494b9d49fd.tar.gz emacs-7d93a0147a14e14d6964bf93ba11cf494b9d49fd.zip | |
Share hash table test structs
This saves several words in the hash table object at the cost of an
indirection at runtime. This seems to be a gain in overall
performance.
FIXME: We cache hash test objects in a rather clumsy way. A better
solution is sought.
* src/lisp.h (struct Lisp_Hash_Table): Use a pointer to the test
struct. All references adapted.
* src/alloc.c (garbage_collect):
* src/fns.c (struct hash_table_user_test, hash_table_user_tests)
(mark_fns, get_hash_table_user_test): New state for caching test
structs, and functions managing it.
Diffstat (limited to 'src/pgtkterm.c')
| -rw-r--r-- | src/pgtkterm.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/pgtkterm.c b/src/pgtkterm.c index 57ea82daa5e..b731f52983d 100644 --- a/src/pgtkterm.c +++ b/src/pgtkterm.c | |||
| @@ -7178,7 +7178,7 @@ If set to a non-float value, there will be no wait at all. */); | |||
| 7178 | 7178 | ||
| 7179 | DEFVAR_LISP ("pgtk-keysym-table", Vpgtk_keysym_table, | 7179 | DEFVAR_LISP ("pgtk-keysym-table", Vpgtk_keysym_table, |
| 7180 | doc: /* Hash table of character codes indexed by X keysym codes. */); | 7180 | doc: /* Hash table of character codes indexed by X keysym codes. */); |
| 7181 | Vpgtk_keysym_table = make_hash_table (hashtest_eql, 900, Weak_None, false); | 7181 | Vpgtk_keysym_table = make_hash_table (&hashtest_eql, 900, Weak_None, false); |
| 7182 | 7182 | ||
| 7183 | window_being_scrolled = Qnil; | 7183 | window_being_scrolled = Qnil; |
| 7184 | staticpro (&window_being_scrolled); | 7184 | staticpro (&window_being_scrolled); |