diff options
| -rw-r--r-- | doc/lispref/compile.texi | 44 |
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 |
| 804 | Compilation, previous chapter}, Emacs can also optionally compile Lisp | 804 | Compilation, the previous chapter}, Emacs can also optionally compile |
| 805 | function definitions into a true compiled code, known as @dfn{native | 805 | Lisp function definitions into a true compiled code, known as |
| 806 | code}. This feature uses the @file{libgccjit} library, which is part | 806 | @dfn{native code}. This feature uses the @file{libgccjit} library, |
| 807 | of the GCC distribution, and requires that Emacs be built with support | 807 | which is part of the GCC distribution, and requires that Emacs be |
| 808 | for using that library. It also requires to have GCC and Binutils | 808 | built 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 | 809 | GCC and Binutils (the assembler and linker) available on your system |
| 810 | to native-compile Lisp code. | 810 | for 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 |
| 861 | byte-compilation (@pxref{Byte Compilation}). Thus, compiling Lisp | 861 | byte-compilation (@pxref{Byte Compilation}). Thus, compiling Lisp |
| 862 | code natively always produces its byte code as well, and therefore all | 862 | code natively always produces its byte code as well, and therefore all |
| 863 | the rules and caveats of preparing Lisp code for byte compilation | 863 | the 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, | |||
| 892 | or a name (a string) of the file which contains the Emacs Lisp source | 892 | or a name (a string) of the file which contains the Emacs Lisp source |
| 893 | code to compile. If the optional argument @var{output} is provided, | 893 | code to compile. If the optional argument @var{output} is provided, |
| 894 | it must be a string specifying the name of the file to write the | 894 | it must be a string specifying the name of the file to write the |
| 895 | compiled code. Otherwise, if @var{function-or-file} is a function or | 895 | compiled code into. Otherwise, if @var{function-or-file} is a |
| 896 | a Lisp form, this function returns the compiled object, and if | 896 | function or a Lisp form, this function returns the compiled object, |
| 897 | @var{function-or-file} is a file name, the function returns the full | 897 | and if @var{function-or-file} is a file name, the function returns the |
| 898 | absolute name of the file it created for the compiled code. The | 898 | full absolute name of the file it created for the compiled code. The |
| 899 | output file is by default given the @file{.eln} extension. | 899 | output file is by default given the @file{.eln} extension. |
| 900 | 900 | ||
| 901 | This function runs the final phase of the native compilation, which | 901 | This function runs the final phase of the native compilation, which |
| 902 | invokes GCC via @file{libgccjit}, in a separate sub-process, which | 902 | invokes GCC via @file{libgccjit}, in a separate subprocess, which |
| 903 | invokes the same Emacs executable as the process that called this | 903 | invokes the same Emacs executable as the process that called this |
| 904 | function. | 904 | function. |
| 905 | @end defun | 905 | @end defun |
| @@ -913,12 +913,12 @@ attempt to compile all the other files, and will terminate with a | |||
| 913 | non-zero status code. | 913 | non-zero status code. |
| 914 | @end defun | 914 | @end defun |
| 915 | 915 | ||
| 916 | Native compilation can be run entirely asynchronously, in a | 916 | Native compilation can be run entirely asynchronously, in a subprocess |
| 917 | sub-process of the main Emacs process. This leaves the main Emacs | 917 | of the main Emacs process. This leaves the main Emacs process free to |
| 918 | process free to use while the compilation runs in the background. | 918 | use while the compilation runs in the background. This is the method |
| 919 | This is the method used by Emacs to natively-compile any Lisp file or | 919 | used by Emacs to natively-compile any Lisp file or byte-compiled Lisp |
| 920 | byte-compiled Lisp file that is loaded into Emacs, when no | 920 | file that is loaded into Emacs, when no natively-compiled file for it |
| 921 | natively-compiled file for it is available. | 921 | is available. |
| 922 | 922 | ||
| 923 | @defun native-compile-async files &optional recursively load selector | 923 | @defun native-compile-async files &optional recursively load selector |
| 924 | This function compiles the named @var{files} asynchronously. The | 924 | This function compiles the named @var{files} asynchronously. The |
| @@ -944,12 +944,12 @@ or the directory should be selected for compilation. | |||
| 944 | 944 | ||
| 945 | On systems with multiple CPU execution units, when @var{files} names | 945 | On systems with multiple CPU execution units, when @var{files} names |
| 946 | more than one file, this function will normally start several | 946 | more than one file, this function will normally start several |
| 947 | compilation sub-processes in parallel, under the control of | 947 | compilation 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 |
| 949 | Variables}). | 949 | Variables}). |
| 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 |
| 953 | native-compilation is available at runtime. | 953 | native-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 |
| 968 | native-compilation. | 968 | native-compilation. |