diff options
| author | Andrea Corallo | 2020-04-25 16:13:03 +0100 |
|---|---|---|
| committer | Andrea Corallo | 2020-04-25 19:55:39 +0100 |
| commit | d73e64076e08cf0bcb81ea9d161fb7409e1bf896 (patch) | |
| tree | f07c3127f9cdc6ac97390460e6466ba7b81b4de0 /src/comp.h | |
| parent | 9c4c0af89d88f5b4a9124741f64915c5378f1283 (diff) | |
| download | emacs-d73e64076e08cf0bcb81ea9d161fb7409e1bf896.tar.gz emacs-d73e64076e08cf0bcb81ea9d161fb7409e1bf896.zip | |
Store function documentations in a hash table.
* src/pdumper.c (dump_subr): Update Lisp_Subr hash.
(dump_subr): Update for new compilation unit layout.
(dump_vectorlike): Update pvec_type hash.
* src/lisp.h (struct Lisp_Subr): Remove 'native_doc' index.
(DEFUN): Update macro for new compilation unit
layout.
* src/doc.c (Fdocumentation): Update for new compilation unit
layout.
* src/comp.h (struct Lisp_Native_Comp_Unit):
Add 'data_fdoc_h' field.
* src/comp.c (TEXT_FDOC_SYM): New macro.
(emit_ctxt_code): Emit function documentations.
(load_comp_unit): Load function documentation.
(Fcomp__register_subr): Rename parameter.
(Fcomp__register_subr): Update for new compilation unit
layout.
* src/alloc.c (mark_object): Update for new compilation unit
layout.
(syms_of_alloc): Likewise.
* lisp/emacs-lisp/comp.el (comp-ctxt): Add doc-index-h slot.
(comp-emit-for-top-level): Emit doc index as 'comp--register-subr'
doc parameter.
Diffstat (limited to 'src/comp.h')
| -rw-r--r-- | src/comp.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/comp.h b/src/comp.h index f5baa88853e..6710227b44d 100644 --- a/src/comp.h +++ b/src/comp.h | |||
| @@ -37,6 +37,8 @@ struct Lisp_Native_Comp_Unit | |||
| 37 | /* Original eln file loaded. */ | 37 | /* Original eln file loaded. */ |
| 38 | Lisp_Object file; | 38 | Lisp_Object file; |
| 39 | Lisp_Object optimize_qualities; | 39 | Lisp_Object optimize_qualities; |
| 40 | /* Hash doc-idx -> function documentaiton. */ | ||
| 41 | Lisp_Object data_fdoc_h; | ||
| 40 | /* Analogous to the constant vector but per compilation unit. */ | 42 | /* Analogous to the constant vector but per compilation unit. */ |
| 41 | Lisp_Object data_vec; | 43 | Lisp_Object data_vec; |
| 42 | /* Same but for data that cannot be moved to pure space. | 44 | /* Same but for data that cannot be moved to pure space. |