(disassemble-internal object indent nil)))
nil)
-
+(declare-function native-comp-unit-file "data.c")
+(declare-function subr-native-comp-unit "data.c")
(cl-defun disassemble-internal (obj indent interactive-p)
(let ((macro 'nil)
(name (when (symbolp obj)
(equal (cadr (assq (package-desc-name pkg) package-alist))
pkg))
+(declare-function comp-el-to-eln-filename "comp.c")
(defun package--delete-directory (dir)
"Delete DIR recursively.
Clean-up the corresponding .eln files if Emacs is native
(byte-recompile-file buffer-file-name nil 0)
(load buffer-file-name))
+(declare-function native-compile "comp")
(defun emacs-lisp-native-compile-and-load ()
"Native-compile synchronously the current file (if it has changed).
Load the compiled code when finished.
(startup--xdg-or-homedot startup--xdg-config-home-emacs nil))
(when (featurep 'nativecomp)
+ (defvar comp-eln-load-path)
(let ((path-env (getenv "EMACSNATIVELOADPATH")))
(when path-env
(dolist (path (split-string path-env ":"))
defsubr (&Ssubr_arity);
defsubr (&Ssubr_name);
defsubr (&Ssubr_native_elisp_p);
-#ifdef HAVE_NATIVE_COMP
defsubr (&Ssubr_native_lambda_list);
+#ifdef HAVE_NATIVE_COMP
defsubr (&Ssubr_native_comp_unit);
defsubr (&Snative_comp_unit_file);
defsubr (&Snative_comp_unit_set_file);
}
}
+#ifdef HAVE_NATIVE_COMP
static void
dump_cold_native_subr (struct dump_context *ctx, Lisp_Object subr)
{
const char *c_name = XSUBR (subr)->native_c_name[0];
dump_write (ctx, c_name, 1 + strlen (c_name));
}
+#endif
static void
dump_drain_cold_data (struct dump_context *ctx)
case COLD_OP_BIGNUM:
dump_cold_bignum (ctx, data);
break;
+#ifdef HAVE_NATIVE_COMP
case COLD_OP_NATIVE_SUBR:
dump_cold_native_subr (ctx, data);
break;
+#endif
default:
emacs_abort ();
}