Introduce `comp-async-jobs-number' to control async job number, this
can be now adjusted dynamically.
Also make `native-compile-async' able to dynamically queue new
compilations.
Change: (comp-start-async-worker) Refactor slightly
Change: (comp-start-async-worker) Inline (comp-to-file-p)
Change: (comp-source-files) Rename from comp-src-pool
Add: (comp-start-async-worker) Assertion
Change: (comp-async-processes) Rename from comp-prc-pool
Tidy: (native-compile)
Rename variables, improve docstring, adjust log message, simplify
filename code.
Tidy: (batch-native-compile) Docstring
Tidy: whitespace-cleanup
Tidy: (comp-start-async-worker) Use () instead of nil
Tidy: (comp-files-queue) Rename from comp-source-files
Change: (native-compile-async) Improve paths support
Tidy: Comment
Save a line for one word. :)
Change: (comp-log) Rewrite without macro, follow tail
Change: (native-compile-async) Use end-of-string in filename regexps
Change: (native-compile-async) Use cl-loop instead of dotimes
Add/Change: (comp-log-to-buffer) And use in comp-log
Comment: Tidy comment
Fix: (configure.ac) Option description
Fix: (comp-log) Argument
Fix: (comp-start-async-worker) Variable name
Change: Undo whitespace changes
Some of them included incorrect indentation because the
macros' (declare (indent)) forms were not loaded. The
whitespace-cleanup should be run from Emacs 27+ with the file loaded.
- Make propagate responsible for keeping SSA up to date.
- Run propagate-alloc as very last before final not to risk bothering
with mvar array allocation during previous tranformations.
- Fix SSA if TCO modify the CFG.
Merge duplicated objects during final. Precendece is:
1 d-default
2 d-impure
3 d-ephemeral
Now every object identify uniquely a relocation class. Because of
this there's no need to keep the reloc class into m-var.
Add a new class of relocated objects that is in use just during load
process. This in order to avoid having to maintain them in the heap
and traverse them at every GC.
During boo-strap we produce both the .eln and the .elc together.
Because the make target is the later this has to be produced as last
to be resilient to build interruptions.