aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/lispref/compile.texi44
1 files changed, 22 insertions, 22 deletions
diff --git a/doc/lispref/compile.texi b/doc/lispref/compile.texi
index f0787795cac..ee31b17af72 100644
--- a/doc/lispref/compile.texi
+++ b/doc/lispref/compile.texi
@@ -801,13 +801,13 @@ The @code{silly-loop} function is somewhat more complex:
801 801
802@cindex native code 802@cindex native code
803 In addition to the byte-compilation, described in @ref{Byte 803 In addition to the byte-compilation, described in @ref{Byte
804Compilation, previous chapter}, Emacs can also optionally compile Lisp 804Compilation, the previous chapter}, Emacs can also optionally compile
805function definitions into a true compiled code, known as @dfn{native 805Lisp function definitions into a true compiled code, known as
806code}. This feature uses the @file{libgccjit} library, which is part 806@dfn{native code}. This feature uses the @file{libgccjit} library,
807of the GCC distribution, and requires that Emacs be built with support 807which is part of the GCC distribution, and requires that Emacs be
808for using that library. It also requires to have GCC and Binutils 808built with support for using that library. It also requires to have
809(the assembler and linker) available on your system for you to be able 809GCC and Binutils (the assembler and linker) available on your system
810to native-compile Lisp code. 810for you to be able to native-compile Lisp code.
811 811
812@vindex native-compile@r{, a Lisp feature} 812@vindex native-compile@r{, a Lisp feature}
813 To determine whether the current Emacs process can produce and load 813 To determine whether the current Emacs process can produce and load
@@ -857,7 +857,7 @@ specified, the former takes precedence.
857@section Native-Compilation Functions 857@section Native-Compilation Functions
858@cindex native-compilation functions 858@cindex native-compilation functions
859 859
860 Native-Compilation is implemented as side effect of 860 Native-Compilation is implemented as a side effect of
861byte-compilation (@pxref{Byte Compilation}). Thus, compiling Lisp 861byte-compilation (@pxref{Byte Compilation}). Thus, compiling Lisp
862code natively always produces its byte code as well, and therefore all 862code natively always produces its byte code as well, and therefore all
863the rules and caveats of preparing Lisp code for byte compilation 863the rules and caveats of preparing Lisp code for byte compilation
@@ -892,14 +892,14 @@ argument @var{function-or-file} can be a function symbol, a Lisp form,
892or a name (a string) of the file which contains the Emacs Lisp source 892or a name (a string) of the file which contains the Emacs Lisp source
893code to compile. If the optional argument @var{output} is provided, 893code to compile. If the optional argument @var{output} is provided,
894it must be a string specifying the name of the file to write the 894it must be a string specifying the name of the file to write the
895compiled code. Otherwise, if @var{function-or-file} is a function or 895compiled code into. Otherwise, if @var{function-or-file} is a
896a Lisp form, this function returns the compiled object, and if 896function or a Lisp form, this function returns the compiled object,
897@var{function-or-file} is a file name, the function returns the full 897and if @var{function-or-file} is a file name, the function returns the
898absolute name of the file it created for the compiled code. The 898full absolute name of the file it created for the compiled code. The
899output file is by default given the @file{.eln} extension. 899output file is by default given the @file{.eln} extension.
900 900
901This function runs the final phase of the native compilation, which 901This function runs the final phase of the native compilation, which
902invokes GCC via @file{libgccjit}, in a separate sub-process, which 902invokes GCC via @file{libgccjit}, in a separate subprocess, which
903invokes the same Emacs executable as the process that called this 903invokes the same Emacs executable as the process that called this
904function. 904function.
905@end defun 905@end defun
@@ -913,12 +913,12 @@ attempt to compile all the other files, and will terminate with a
913non-zero status code. 913non-zero status code.
914@end defun 914@end defun
915 915
916Native compilation can be run entirely asynchronously, in a 916Native compilation can be run entirely asynchronously, in a subprocess
917sub-process of the main Emacs process. This leaves the main Emacs 917of the main Emacs process. This leaves the main Emacs process free to
918process free to use while the compilation runs in the background. 918use while the compilation runs in the background. This is the method
919This is the method used by Emacs to natively-compile any Lisp file or 919used by Emacs to natively-compile any Lisp file or byte-compiled Lisp
920byte-compiled Lisp file that is loaded into Emacs, when no 920file that is loaded into Emacs, when no natively-compiled file for it
921natively-compiled file for it is available. 921is available.
922 922
923@defun native-compile-async files &optional recursively load selector 923@defun native-compile-async files &optional recursively load selector
924This function compiles the named @var{files} asynchronously. The 924This function compiles the named @var{files} asynchronously. The
@@ -944,12 +944,12 @@ or the directory should be selected for compilation.
944 944
945On systems with multiple CPU execution units, when @var{files} names 945On systems with multiple CPU execution units, when @var{files} names
946more than one file, this function will normally start several 946more than one file, this function will normally start several
947compilation sub-processes in parallel, under the control of 947compilation subprocesses in parallel, under the control of
948@code{native-comp-async-jobs-number} (@pxref{Native-Compilation 948@code{native-comp-async-jobs-number} (@pxref{Native-Compilation
949Variables}). 949Variables}).
950@end defun 950@end defun
951 951
952 The following function allows Lisp program to test whether 952 The following function allows Lisp programs to test whether
953native-compilation is available at runtime. 953native-compilation is available at runtime.
954 954
955@defun native-comp-available-p 955@defun native-comp-available-p
@@ -962,7 +962,7 @@ whether native-compilation is available should use this predicate.
962 962
963@node Native-Compilation Variables 963@node Native-Compilation Variables
964@section Native-Compilation Variables 964@section Native-Compilation Variables
965@cindex native-compilation variable 965@cindex native-compilation variables
966 966
967 This section documents the variables that control 967 This section documents the variables that control
968native-compilation. 968native-compilation.