aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/emacs-lisp/cconv.el
diff options
context:
space:
mode:
authorStefan Monnier <[email protected]>2011-03-22 20:53:36 -0400
committerStefan Monnier <[email protected]>2011-03-22 20:53:36 -0400
commit29a4dcb06d4bd78db96d6305f7434ce464aff8a4 (patch)
tree483a56b4db104ebab3874abf5b9017c43662d2f4 /lisp/emacs-lisp/cconv.el
parentcafdcef32d55cbb44389d7e322e7f973cbb72dfd (diff)
Clean up left over Emacs-18/19 code, inline byte-code-functions.
* lisp/emacs-lisp/byte-opt.el (byte-inline-lapcode): Move to bytecomp.el. (byte-compile-inline-expand): Inline all bytecompiled functions. Unify the inlining code of the lexbind and dynbind interpreted functions. (byte-compile-unfold-lambda): Don't handle byte-compiled functions at all. (byte-optimize-form-code-walker): Don't optimize byte-compiled inlined functions here. (byte-compile-splice-in-already-compiled-code): Remove. (byte-code): Don't optimize it any more. (byte-decompile-bytecode-1): Remove unused bytedecomp-bytes. Leave `byte-return's even for `make-spliceable'. * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defmumble): byte-compile-lambda now always returns a byte-code-function. (byte-compile-byte-code-maker, byte-compile-byte-code-unmake) (byte-compile-closure): Remove. (byte-compile-lambda): Always return a byte-code-function. (byte-compile-top-level): Don't handle `byte-code' forms specially. (byte-compile-inline-lapcode): New function, taken from byte-opt.el. (byte-compile-unfold-bcf): New function. (byte-compile-form): Use it to optimize inline byte-code-functions. (byte-compile-function-form, byte-compile-defun): Simplify. (byte-compile-defmacro): Don't bother calling byte-compile-byte-code-maker.
Diffstat (limited to 'lisp/emacs-lisp/cconv.el')
-rw-r--r--lisp/emacs-lisp/cconv.el5
1 files changed, 1 insertions, 4 deletions
diff --git a/lisp/emacs-lisp/cconv.el b/lisp/emacs-lisp/cconv.el
index 5d19bf969e..fe5d7230fb 100644
--- a/lisp/emacs-lisp/cconv.el
+++ b/lisp/emacs-lisp/cconv.el
@@ -66,9 +66,6 @@
;;; Code:
;; TODO: (not just for cconv but also for the lexbind changes in general)
-;; - inline lexical byte-code functions.
-;; - investigate some old v18 stuff in bytecomp.el.
-;; - optimize away unused cl-block-wrapper.
;; - let (e)debug find the value of lexical variables from the stack.
;; - byte-optimize-form should be applied before cconv.
;; OTOH, the warnings emitted by cconv-analyze need to come before optimize
@@ -87,7 +84,7 @@
;; - Since we know here when a variable is not mutated, we could pass that
;; info to the byte-compiler, e.g. by using a new `immutable-let'.
;; - add tail-calls to bytecode.c and the byte compiler.
-;; - call known non-escaping functions with gotos rather than `call'.
+;; - call known non-escaping functions with `goto' rather than `call'.
;; - optimize mapcar to a while loop.
;; (defmacro dlet (binders &rest body)