diff options
| author | Andrea Corallo | 2019-12-24 16:52:40 +0100 |
|---|---|---|
| committer | Andrea Corallo | 2020-01-01 11:38:16 +0100 |
| commit | 568883c9be8bfbb15ea48ae0de2c117894e8db4e (patch) | |
| tree | 99d1465d98412f8d9c3cdfed94cfcfb73f7085b7 /src/comp.c | |
| parent | b6d6e7feb75b792c74fe3e1d036b9edf540d771e (diff) | |
| download | emacs-568883c9be8bfbb15ea48ae0de2c117894e8db4e.tar.gz emacs-568883c9be8bfbb15ea48ae0de2c117894e8db4e.zip | |
add native elisp subr pdumper support
Diffstat (limited to 'src/comp.c')
| -rw-r--r-- | src/comp.c | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/src/comp.c b/src/comp.c index 43b22a86805..7e25bdc9256 100644 --- a/src/comp.c +++ b/src/comp.c | |||
| @@ -3202,8 +3202,6 @@ helper_PSEUDOVECTOR_TYPEP_XUNTAG (Lisp_Object a, enum pvec_type code) | |||
| 3202 | /* Functions used to load eln files. */ | 3202 | /* Functions used to load eln files. */ |
| 3203 | /**************************************/ | 3203 | /**************************************/ |
| 3204 | 3204 | ||
| 3205 | static Lisp_Object Vnative_elisp_refs_hash; | ||
| 3206 | |||
| 3207 | typedef char *(*comp_lit_str_func) (void); | 3205 | typedef char *(*comp_lit_str_func) (void); |
| 3208 | 3206 | ||
| 3209 | /* Deserialize read and return static object. */ | 3207 | /* Deserialize read and return static object. */ |
| @@ -3292,6 +3290,7 @@ DEFUN ("comp--register-subr", Fcomp__register_subr, Scomp__register_subr, | |||
| 3292 | XSETSUBR (tem, &x->s); | 3290 | XSETSUBR (tem, &x->s); |
| 3293 | set_symbol_function (name, tem); | 3291 | set_symbol_function (name, tem); |
| 3294 | 3292 | ||
| 3293 | Fputhash (name, c_name, Vsym_subr_c_name_h); | ||
| 3295 | LOADHIST_ATTACH (Fcons (Qdefun, name)); | 3294 | LOADHIST_ATTACH (Fcons (Qdefun, name)); |
| 3296 | 3295 | ||
| 3297 | return Qnil; | 3296 | return Qnil; |
| @@ -3434,13 +3433,10 @@ syms_of_comp (void) | |||
| 3434 | /* FIXME should be initialized but not here... */ | 3433 | /* FIXME should be initialized but not here... */ |
| 3435 | DEFVAR_LISP ("comp-subr-list", Vsubr_list, | 3434 | DEFVAR_LISP ("comp-subr-list", Vsubr_list, |
| 3436 | doc: /* List of all defined subrs. */); | 3435 | doc: /* List of all defined subrs. */); |
| 3437 | 3436 | DEFVAR_LISP ("comp-sym-subr-c-name-h", Vsym_subr_c_name_h, | |
| 3438 | /* Load mechanism. */ | 3437 | doc: /* Hash table symbol-function -> function-c-name. For |
| 3439 | staticpro (&Vnative_elisp_refs_hash); | 3438 | internal use during */); |
| 3440 | Vnative_elisp_refs_hash | 3439 | Vsym_subr_c_name_h = CALLN (Fmake_hash_table); |
| 3441 | = make_hash_table (hashtest_eq, DEFAULT_HASH_SIZE, | ||
| 3442 | DEFAULT_REHASH_SIZE, DEFAULT_REHASH_THRESHOLD, | ||
| 3443 | Qnil, false); | ||
| 3444 | } | 3440 | } |
| 3445 | 3441 | ||
| 3446 | #endif /* HAVE_NATIVE_COMP */ | 3442 | #endif /* HAVE_NATIVE_COMP */ |