aboutsummaryrefslogtreecommitdiffstats
path: root/src/comp.h
diff options
context:
space:
mode:
authorAndrea Corallo2020-04-25 16:13:03 +0100
committerAndrea Corallo2020-04-25 19:55:39 +0100
commitd73e64076e08cf0bcb81ea9d161fb7409e1bf896 (patch)
treef07c3127f9cdc6ac97390460e6466ba7b81b4de0 /src/comp.h
parent9c4c0af89d88f5b4a9124741f64915c5378f1283 (diff)
downloademacs-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.h2
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.