[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
feature/native-comp be907b0: * Spawn a sub-process for running GCC also
From: |
Andrea Corallo |
Subject: |
feature/native-comp be907b0: * Spawn a sub-process for running GCC also in batch mode (bug#45056) |
Date: |
Mon, 7 Dec 2020 10:43:46 -0500 (EST) |
branch: feature/native-comp
commit be907b0ba82c2a65e0468d50653cae8a7cf5f16b
Author: Andrea Corallo <akrl@sdf.org>
Commit: Andrea Corallo <akrl@sdf.org>
* Spawn a sub-process for running GCC also in batch mode (bug#45056)
* lisp/emacs-lisp/comp.el (comp-async-compilation): New variable.
(comp-final): Always run the C side of the compilation as a
sub-process unless during bootstrap or async compilation.
(comp-run-async-workers): Set `comp-async-compilation'.
---
lisp/emacs-lisp/comp.el | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/lisp/emacs-lisp/comp.el b/lisp/emacs-lisp/comp.el
index 13f9beb..339fff7 100644
--- a/lisp/emacs-lisp/comp.el
+++ b/lisp/emacs-lisp/comp.el
@@ -2805,11 +2805,18 @@ Prepare every function for final compilation and drive
the C back-end."
(and (comp--release-ctxt)
compile-result))))
+(defvar comp-async-compilation nil
+ "Non-nil while executing an asyncronous native compilation.")
+
(defun comp-final (_)
"Final pass driving the C back-end for code emission."
(maphash #'comp-ret-type-spec (comp-ctxt-funcs-h comp-ctxt))
(unless comp-dry-run
- (if noninteractive
+ ;; Always run the C side of the compilation as a sub-process
+ ;; unless during bootstrap or async compilation (bug#45056). GCC
+ ;; leaks memory but also interfere with the ability of Emacs to
+ ;; detect when a sub-process completes (TODO understand why).
+ (if (or byte-native-for-bootstrap comp-async-compilation)
(comp-final1)
;; Call comp-final1 in a child process.
(let* ((output (comp-ctxt-output comp-ctxt))
@@ -3073,6 +3080,7 @@ display a message."
(setf comp-speed ,comp-speed
comp-debug ,comp-debug
comp-verbose ,comp-verbose
+ comp-async-compilation t
comp-eln-load-path ',comp-eln-load-path
comp-native-driver-options
',comp-native-driver-options
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- feature/native-comp be907b0: * Spawn a sub-process for running GCC also in batch mode (bug#45056),
Andrea Corallo <=