]> git.eshelyaron.com Git - emacs.git/commit
JIT compiler
authorTom Tromey <tom@tromey.com>
Sun, 12 Aug 2018 21:29:43 +0000 (15:29 -0600)
committerTom Tromey <tom@tromey.com>
Tue, 14 Aug 2018 00:11:39 +0000 (18:11 -0600)
commita166e8fabda6fbc7a49d2da2c9ae99efc2e3c23e
tree3366e0bd7d8fd45dd34c5be15d63301ba1e65c68
parent62d9c0cf9c20fb00ea221ac4bb0391c67fecdafc
JIT compiler

* lisp/emacs-lisp/jit-support.el: New file.
* src/alloc.c (make_byte_code): Remove.
(Fmake_byte_code): Rewrite.
* src/data.c (Fsubr_arity, notify_variable_watchers): Update.
* src/emacs.c (main): Call syms_of_jit, init_jit.
* src/eval.c (eval_sub, Fapply, FUNCTIONP, Ffuncall, funcall_subr)
(funcall_lambda): Update.
* src/jit.c: New file.
* src/lisp.h (struct subr_function): New struct, extracted from
Lisp_Subr.
(SUBR_MAX_ARGS): New define.
(struct Lisp_Subr): Use struct subr_function.
(COMPILED_JIT_CODE): New constant.
(DEFUN): Update.
(make_byte_code): Don't declare.
(funcall_subr): Add error_obj argument.
(syms_of_jit, init_jit, emacs_jit_compile): Declare.
* src/lread.c (read1): Use Fmake_byte_code.
* test/src/jit-tests.el: New file.
lisp/emacs-lisp/jit-support.el [new file with mode: 0644]
src/alloc.c
src/data.c
src/emacs.c
src/eval.c
src/jit.c [new file with mode: 0644]
src/lisp.h
src/lread.c
test/src/jit-tests.el [new file with mode: 0644]