| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
The native compiler should not try to generate in rendered code
immediate floats produced by the constrain on the '=' operator.
* test/src/comp-tests.el (comp-test-78606-1): Add test.
* test/src/comp-resources/comp-test-funcs.el (comp-test-78606-1-f): New
function.
* src/comp.c (emit_mvar_rval): Check if an immediate is materializable.
* lisp/emacs-lisp/comp.el (comp-ctxt): Add 'non-materializable-objs-h'
slot.
(comp--fwprop-insn): Update call.
* lisp/emacs-lisp/comp-cstr.el (comp-cstr-=): Add parameter.
|
| |
|
|
|
|
| |
* lisp/emacs-lisp/comp.el (comp--add-cond-cstrs): Don't emit negated
cstr.
* test/src/comp-tests.el (comp-tests-type-spec-tests): Add a test.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. Prefer "native-compiled" to "native compiled".
The adjective "native-compiled" with the hyphen is generally more
consistent with the typical pattern in English, especially when the
compound modifies a noun (e.g., "native-compiled code").
2. Prefer "natively compiled" to "natively-compiled".
The adverb "natively" modifies "compiled", and it is standard not
to hyphenate an adverb + adjective combination when the adverb ends
in -ly (e.g., "code that is natively compiled").
For example, note that we say "high-speed internet" but "highly
performant code".
* Makefile.in (dest):
* configure.ac (HAVE_NATIVE_COMP):
* doc/emacs/building.texi (Lisp Libraries):
* doc/lispref/compile.texi (Native Compilation)
(Native-Compilation Functions, Native-Compilation Variables):
* doc/lispref/functions.texi (What Is a Function, Declare Form):
* doc/lispref/loading.texi (How Programs Do Loading, Library Search):
* etc/NEWS:
* etc/NEWS.28:
* etc/NEWS.29:
* etc/NEWS.30:
* lisp/emacs-lisp/comp-common.el (native-comp-never-optimize-functions)
(comp-function-type-spec):
* lisp/emacs-lisp/comp-cstr.el:
* lisp/subr.el (locate-eln-file):
* src/comp.c (SETJMP_NAME, syms_of_comp):
* src/data.c (Fsubrp, Fnative_comp_function_p, Fsubr_native_lambda_list):
* src/lread.c (Fload):
* src/pdumper.c (dump_do_dump_relocation):
* test/src/comp-tests.el (lambda-return2): Avoid grammatically incorrect
variations on "natively compiled" and "native-compiled". (Bug#56727)
|
| |
|
|
| |
Run "TZ=UTC0 admin/update-copyright".
|
| |
|
|
|
|
|
|
|
| |
* test/src/comp-tests.el (comp-test-73270-1): Define new test.
* test/src/comp-resources/comp-test-funcs.el (comp-test-73270-base)
(comp-test-73270-child1, comp-test-73270-child2)
(comp-test-73270-child3, comp-test-73270-child4)
(comp-test-73270-1-f): Define.
* lisp/emacs-lisp/comp-cstr.el (comp-cstr-type-p): Fix it for nil cstrs.
|
| |
|
|
|
| |
* test/src/comp-tests.el (comp-tests-type-branch-optim-checker): New function.
(comp-tests-type-branch-optim): Add new test.
|
| |
|
|
|
|
|
| |
* test/src/comp-tests.el (comp-tests-cond-rw-checked-function)
(comp-tests-cond-rw-checker-val)
(comp-tests-cond-rw-expected-type)
(comp-tests-cond-rw-checker-type): Remove.
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
* lisp/emacs-lisp/comp.el (comp--spill-lap-single-function): New function.
(comp--spill-lap-function): Make use of and do not accept
'(closure ...' as input.
(comp--spill-lap-function): Specialize on interpreted functions as
well.
(native-compile): Update doc.
* test/src/comp-tests.el (compile-interpreted-functions): New test.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* test/src/comp-tests.el (comp-tests-bootstrap, lambda-return)
(lambda-return2, free-fun, free-fun2, free-fun-silly-name, speed--1)
(compile-forms, comp-test-defsubst, primitive-redefine-compile-44221)
(48029-1, 61917-1, tco, fw-prop-1, pure):
* test/lisp/help-fns-tests.el (help-fns-test-lisp-defun):
* lisp/subr.el (subr-primitive-p, primitive-function-p, symbol-file):
* lisp/help-fns.el (find-lisp-object-file-name):
* lisp/emacs-lisp/disass.el (disassemble-internal):
* lisp/emacs-lisp/comp.el (comp--call-optim-form-call):
* lisp/emacs-lisp/comp-run.el (comp-warn-primitives):
* lisp/emacs-lisp/comp-common.el (comp-function-type-spec):
* lisp/emacs-lisp/byte-opt.el (side-effect-free-fns):
* lisp/emacs-lisp/bytecomp.el (<trailer>): Rename `subr-native-elisp-p`
to `native-comp-function-p`.
|
| |
|
|
|
| |
* test/src/comp-tests.el (comp-tests-tco, comp-tests-fw-prop-1)
(comp-tests-pure): Update out of date pass names.
|
| |
|
|
|
|
|
|
|
| |
* lisp/emacs-lisp/comp.el (comp-known-predicates)
(comp-known-predicates-h): Update.
(comp--pred-to-pos-cstr, comp--pred-to-neg-cstr): New functions.
(comp--add-cond-cstrs): Make use of them.
* test/src/comp-tests.el (comp-tests-type-spec-tests): Add a test.
|
| |
|
|
|
|
|
| |
This reverts commit 4a0d430bdc3650ca3dfd8bdd14781764fbcbdc7e.
AFAICT that commit was made to accomodate regressions introduced
in the new `cl-preloaded.el` code and these have been fixed.
|
| |\ |
|
| | |
| |
| |
| |
| | |
* test/src/comp-tests.el (comp-tests--type-lists-equal): New function.
(comp-tests--types-equal): Handle function types.
|
| |/
|
|
|
|
|
| |
* test/src/comp-tests.el (comp-tests-ret-type-spec-13)
(comp-tests-ret-type-spec-35): Update.
* test/lisp/emacs-lisp/comp-cstr-tests.el (comp-cstr-test-62)
(comp-cstr-test-75): Likewise.
|
| | |
|
| |
|
|
|
|
| |
* test/src/comp-tests.el (cl-seq): Require.
(comp-tests--types-equal): New function.
(comp-tests-check-ret-type-spec): Make use of.
|
| |
|
|
|
|
| |
* test/src/comp-tests.el (comp-tests-ret-type-spec-71): Reverts commit
c5031a52c5c6ad74fab27d3754700e7457717516 to compensate for
50201e03b9c.
|
| |
|
|
|
| |
* test/src/comp-tests.el (comp-tests-ret-type-spec-71): Update a test
due to new 'sxhash-equal' behaviour.
|
| |\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
dc4e6b13296 ; Update copyright years in more files
64b37776318 ; Run set-copyright from admin.el
8e1c56ae467 ; Add 2024 to copyright years
# Conflicts:
# doc/misc/modus-themes.org
# doc/misc/texinfo.tex
# etc/NEWS
# etc/refcards/ru-refcard.tex
# etc/themes/modus-operandi-theme.el
# etc/themes/modus-themes.el
# etc/themes/modus-vivendi-theme.el
# lib/alloca.in.h
# lib/binary-io.h
# lib/c-ctype.h
# lib/c-strcasecmp.c
# lib/c-strncasecmp.c
# lib/careadlinkat.c
# lib/cloexec.c
# lib/close-stream.c
# lib/diffseq.h
# lib/dup2.c
# lib/filemode.h
# lib/fpending.c
# lib/fpending.h
# lib/fsusage.c
# lib/getgroups.c
# lib/getloadavg.c
# lib/gettext.h
# lib/gettime.c
# lib/gettimeofday.c
# lib/group-member.c
# lib/malloc.c
# lib/md5-stream.c
# lib/md5.c
# lib/md5.h
# lib/memmem.c
# lib/memrchr.c
# lib/nanosleep.c
# lib/save-cwd.h
# lib/sha1.c
# lib/sig2str.c
# lib/stdlib.in.h
# lib/strtoimax.c
# lib/strtol.c
# lib/strtoll.c
# lib/time_r.c
# lib/xalloc-oversized.h
# lisp/auth-source-pass.el
# lisp/emacs-lisp/lisp-mnt.el
# lisp/emacs-lisp/timer.el
# lisp/info-look.el
# lisp/jit-lock.el
# lisp/loadhist.el
# lisp/mail/rmail.el
# lisp/net/ntlm.el
# lisp/net/webjump.el
# lisp/progmodes/asm-mode.el
# lisp/progmodes/project.el
# lisp/progmodes/sh-script.el
# lisp/textmodes/flyspell.el
# lisp/textmodes/reftex-toc.el
# lisp/textmodes/reftex.el
# lisp/textmodes/tex-mode.el
# lisp/url/url-gw.el
# m4/alloca.m4
# m4/clock_time.m4
# m4/d-type.m4
# m4/dirent_h.m4
# m4/dup2.m4
# m4/euidaccess.m4
# m4/fchmodat.m4
# m4/filemode.m4
# m4/fsusage.m4
# m4/getgroups.m4
# m4/getloadavg.m4
# m4/getrandom.m4
# m4/gettime.m4
# m4/gettimeofday.m4
# m4/gnulib-common.m4
# m4/group-member.m4
# m4/inttypes.m4
# m4/malloc.m4
# m4/manywarnings.m4
# m4/mempcpy.m4
# m4/memrchr.m4
# m4/mkostemp.m4
# m4/mktime.m4
# m4/nproc.m4
# m4/nstrftime.m4
# m4/pathmax.m4
# m4/pipe2.m4
# m4/pselect.m4
# m4/pthread_sigmask.m4
# m4/readlink.m4
# m4/realloc.m4
# m4/sig2str.m4
# m4/ssize_t.m4
# m4/stat-time.m4
# m4/stddef_h.m4
# m4/stdint.m4
# m4/stdio_h.m4
# m4/stdlib_h.m4
# m4/stpcpy.m4
# m4/strnlen.m4
# m4/strtoimax.m4
# m4/strtoll.m4
# m4/time_h.m4
# m4/timegm.m4
# m4/timer_time.m4
# m4/timespec.m4
# m4/unistd_h.m4
# m4/warnings.m4
# nt/configure.bat
# nt/preprep.c
# test/lisp/register-tests.el
|
| | | |
|
| | |
| |
| |
| |
| |
| | |
* test/src/comp-tests.el (native-comp-eln-load-path): Declare.
(cherry picked from commit 508d24c8b9aee2c2a4c78ccfef3b5f551a1b2115)
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* lisp/emacs-lisp/comp.el (comp-add-cond-cstrs): Emit assume with
the original mvar as explicit rhs.
(comp-fwprop-insn): Add note.
* test/src/comp-tests.el (67239-1): Add new test.
* test/src/comp-resources/comp-test-funcs.el (comp-test-time)
(comp-test-67239-00-f, comp-test-67239-0-f, comp-test-67239-1-f):
Define.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This fixes bug#64646. Also refactor two functions to reduce
code duplication.
* lisp/emacs-lisp/comp.el (comp-spill-lap-function/symbol)
(comp-spill-lap-function/list): Add all functions found by the
byte compiler (including lambdas) to the native compiler's
context, thus making them be native compiled. Refactor to use
comp-intern-func-in-ctxt. Make comp-spill-lap-function/list
also compile closures.
* test/src/comp-resources/comp-test-funcs.el
(comp-tests-lambda-return-f2): New function
* test/src/comp-tests.el (comp-test-lambda-return2)
(comp-tests-free-fun-f2): New functions to test that internal
lambdas get native compiled.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Assuming 'number-or-marker' is a type (as present multiple times in
cl--typeof-types) adding some missing entries for coherency.
* lisp/emacs-lisp/cl-preloaded.el (cl--typeof-types): Add
'number-or-marker' as supertype of 'number' in the 'float' branch.
* lisp/emacs-lisp/cl-macs.el (cl-deftype-satisfies): Add
'number-or-marker'.
* test/lisp/emacs-lisp/comp-cstr-tests.el (comp-cstr-typespec-tests-alist):
Update test.
* test/src/comp-tests.el (comp-tests-type-spec-tests): Update two testes.
|
| | |
| |
| |
| | |
* test/src/comp-tests.el (native-comp-eln-load-path): Declare.
|
| |\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
842dbf500e0 * Fix `batch-byte+native-compile' target directory.
8dbd5aa1eef Avoid crashes in 'display_count_lines' when current buffe...
47b4f4cf783 ; * doc/emacs/mini.texi (Completion Commands): Fix a typo...
78999d52136 Update csharp tree-sitter support due to upstream changes
556cb01b48e Substitute command keys in 'ielm-header' at use time
99367078e50 ; * etc/PROBLEMS: Add entry about XIM problems (bug#65205).
03e897c08fa Fix rare crashes in redisplay due to problems with fontsets
b1ba06a1e4b Fix a typo in 'leuven-dark-theme.el'
e80a9dcabb9 ; * admin/git-bisect-start: Update failing commits
9091f42784b ; * admin/git-bisect-start: Update failing commits
344ac529ca9 ; * etc/PROBLEMS: Fix typo.
bccf848b26c Adapt Tramp test
71bc060e403 Properly expand the JSX indentation rules in 'js-ts-mode'
889cfb42ed9 * Add `emacs-lisp-native-compile' to easy-menu.
4535aafa8a3 * lisp/progmodes/elisp-mode.el (emacs-lisp-mode-menu): Si...
173af0cad51 * Introduce `emacs-lisp-native-compile'.
063d7d89d7a Fix the -x switch in non-X builds
5a7fb0b39b7 Document that `set-mouse-color' does not work everywhere
d06fc72496f ; * doc/emacs/dired.texi (Misc Dired Features): Fix last ...
97b8ac376b5 Fix the effects and documentation of 'dired-free-space'
75c72e59f69 ; Fix typo
6d11b7b3007 Fix cross-reference to eldoc in eglot manual
913e50aba6c Add native-compilation to Emacs Lisp mode menu
b93107c20b2 Fix emacs-lisp-native-compile-and-load eln target directo...
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
* lisp/emacs-lisp/comp.el (comp-spill-lap-function): Don't use
`byte+native-compile' to select output directory but always axpect
it explicit through `native-compile-target-directory'.
(batch-byte+native-compile): Set `native-compile-target-directory'.
* test/src/comp-tests.el (comp-tests-bootstrap): Set
`native-compile-target-directory'.
|
| | |
| |
| |
| |
| |
| | |
* test/src/comp-tests.el (comp-tests-result-lambda): Use
'comp-deftest', not 'ert-deftest'. The latter doesn't check for
native-compile support.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This fixes bug#64642.
* lisp/emacs-lisp/comp.el (comp-spill-lap-function/symbol): Add
code for dynamically bound functions.
* test/src/comp-tests.el (comp-tests-result-lambda): New test.
* test/src/comp-resources/comp-test-funcs-dyn2.el: New test
file.
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
#
# On branch master
# Your branch is up to date with 'origin/master'.
#
# Changes to be committed:
# modified: lisp/emacs-lisp/comp.el
# new file: test/src/comp-resources/comp-test-funcs-dyn2.el
# modified: test/src/comp-tests.el
#
# Changes not staged for commit:
# modified: .gitignore
#
# Untracked files:
# .gitignore.acm
# .gitignore.backup
# .timestamps.txt
# 2021-01-03.err
# 2021-01-06.err
# 2021-12-16.make
# 2021-12-30.err
# 2021-12-31.err
# 2022-01-01.err
# 2022-01-02.check.err
# 2022-01-02.err
# 2022-01-04.err
# 2022-01-05.err
# 2022-01-06.err
# 2022-01-07.err
# 2022-01-07.outerr
# 2022-01-08.err
# 2022-01-09.err
# 2022-01-09b.err
# 2022-01-10.err
# 2022-01-11
# 2022-01-11.err
# 2022-02-22.err
# 2022-02-22.outerr
# checkout.20220228.out
# checkout.20220301.out
# checkout.20220302.out
# doc/lispref/syntax.20160318.techsi
# doc/lispref/syntax.20160318b.techsi
# lib/.deps/
# lisp/2022-01-09.err
# lisp/emacs-lisp/comp.el.rej
# src/2021-12-20.err
# src/globals.20211124.aitch
# src/lisp.20211127.aitch
# test/lisp/calendar/icalendar-tests.elcr5m9Wq
#
|
| |\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
0d8b69e0ad3 Don't ding when completion succeeded
f11e2d36999 ; * admin/git-bisect-start: Update failing commits
9855a3ea744 ; * src/xdisp.c (redisplay_tool_bar): Fix a typo in a com...
f4ee696b887 Improve documentation of color-related functions
90eadc3e234 Revert "* package.el (package--get-activatable-pkg): Pref...
65f355ea0a3 ; Update my mail address
a3a69ec2342 Fix connection-local user options handling (bug#63300)
240803cc3e1 Document 'startup-redirect-eln-cache'
026afb22984 ; * etc/PROBLEMS: Entry about crashes due to anti-virus (...
bcc222251e1 Fix `emacs-lisp-native-compile-and-load' for C-h f (bug#5...
07c8211ca30 Add 'infer' as a keyword to typescript-ts-mode (bug#63880)
dd2d8ff2f5c ; * etc/NEWS: Mention the issue with PGTK on WSL (bug#633...
fa8135f8916 Revert changes to the order in which package descs are lo...
27fcfa2c0a7 ; * etc/NEWS: Improve instructions for grammar libraries.
2a84ab905c8 Handle point in last file-name component in minibuffer co...
05f25238b7b Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/...
4bc043ff45d Avoid asking redundant question in emacsbug.el
2eadf328d05 * test/infra/Dockerfile.emba (emacs-base): Don't install ...
583ba1db7ee typescript-ts-mode: Add a rule for function_signature
# Conflicts:
# etc/NEWS
# lisp/minibuffer.el
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* lisp/emacs-lisp/comp-cstr.el: Update author mail.
* lisp/emacs-lisp/comp.el: Likewise.
* src/comp.c: Likewise.
* test/lisp/emacs-lisp/comp-cstr-tests.el: Likewise.
* test/src/comp-resources/comp-test-funcs-dyn.el: Likewise.
* test/src/comp-resources/comp-test-funcs.el: Likewise.
* test/src/comp-resources/comp-test-pure.el: Likewise.
* test/src/comp-tests.el: Likewise.
|
| | | |
|
| | | |
|
| |/ |
|
| |
|
|
|
|
|
|
| |
* test/src/comp-tests.el (61917-1): New test.
* src/comp.c (syms_of_comp): New variable.
* lisp/loadup.el: Store primitive arities before dumping.
* lisp/emacs-lisp/comp.el (comp--func-arity): New function.
(comp-emit-set-call-subr): Make use of `comp--func-arity'.
|
| |
|
|
|
|
|
| |
This reverts commit 263d6c38539691c954f4c3057cbe8d5468499b91.
These patch series caused a number of regression and more analysis is
required.
|
| |
|
|
|
|
| |
* lisp/emacs-lisp/comp.el (comp-emit-set-call-subr): Fix compilation
of calls to redefined primtives with dedicated op-bytecode.
* test/src/comp-tests.el (61917-1): New test.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
Sigh... why do people insist on removing useful comments and leave
their tricky code more obfuscated than it must be??
* test/src/comp-tests.el (comp-tests-type-spec-tests): Add a
comment explaining why the expressions are quoted. (Bug#51104)
|
| |
|
|
|
|
|
|
|
|
| |
Rather than disable byte-compilation to circumvent bug#51104,
change the ELisp code so that `most-positive/negative-fixnum` does
not end up hardcoded in the `.elc` file.
* test/src/comp-tests.el (comp-tests-define-type-spec-test):
Don't quote the type expressions.
(comp-tests-type-spec-tests): Quote them here instead.
|
| | |
|
| |
|
|
|
| |
* test/src/comp-tests.el: Do not byte-compile, as the .elc
file would be machine-dependent (bug#51104).
|
| |\
| |
| |
| |
| |
| |
| |
| |
| | |
9db6817d63 Remove uneffective test
7af88de410 Mark async worker tmp file as utf-8-emacs-unix (bug#48029)
# Conflicts:
# test/src/comp-resources/comp-test-45603.el
# test/src/comp-tests.el
|