(defconst comp-debug t)
+;; FIXME these has to be removed
(defvar comp-speed 2)
+(defvar byte-compile-lap-output)
(defconst comp-passes '(comp-recuparate-lap
comp-limplify)
(replace-regexp-in-string
"-" "_"
subr-str)))))
- (cl-assert (not (eq maxarg 'many)) nil
- "%s contains may args" subr-name)
+ (cl-assert (not (or (eq maxarg 'many) (eq maxarg 'unevalled))) nil
+ "%s contains %s arg" subr-name maxarg )
(cl-assert (= minarg maxarg) (minarg maxarg)
"args %d %d differs for %s" subr-name)
`(let ((c-fun-name ',c-fun-name)
(declare (debug (body))
(indent defun))
(cl-flet ((op-to-fun (x)
- ;;Given the LAP op strip "byte-"
+ ;; Given the LAP op strip "byte-" to have the subr name.
(intern (replace-regexp-in-string "byte-" "" x))))
`(pcase op
,@(cl-loop for (op . body) in cases
(byte-pophandler)
(byte-pushconditioncase)
(byte-pushcatch)
- (byte-nth)
- (byte-symbolp)
- (byte-consp)
+ (byte-nth auto)
+ (byte-symbolp auto)
+ (byte-consp auto)
(byte-stringp auto)
(byte-listp auto)
(byte-eq auto)
(byte-aref auto)
(byte-aset auto)
(byte-symbol-value auto)
- (byte-symbol-function)
+ (byte-symbol-function auto)
(byte-set auto)
(byte-fset auto)
(byte-get auto)
(byte-max)
(byte-min)
(byte-mult)
- (byte-point)
+ (byte-point auto)
(byte-goto-char auto)
(byte-insert)
- (byte-point-max)
- (byte-point-min)
+ (byte-point-max auto)
+ (byte-point-min auto)
(byte-char-after)
(byte-following-char auto)
- (byte-preceding-char)
- (byte-current-column)
+ (byte-preceding-char auto)
+ (byte-current-column auto)
(byte-indent-to)
(byte-scan-buffer-OBSOLETE)
- (byte-eolp)
- (byte-eobp)
- (byte-bolp)
- (byte-bobp)
- (byte-current-buffer)
- (byte-set-buffer)
+ (byte-eolp auto)
+ (byte-eobp auto)
+ (byte-bolp auto)
+ (byte-bobp auto)
+ (byte-current-buffer auto)
+ (byte-set-buffer auto)
(byte-save-current-buffer)
(byte-set-mark-OBSOLETE)
(byte-interactive-p-OBSOLETE)
(byte-skip-chars-forward)
(byte-skip-chars-backward)
(byte-forward-line)
- (byte-char-syntax)
- (byte-buffer-substring)
- (byte-delete-region)
+ (byte-char-syntax auto)
+ (byte-buffer-substring auto)
+ (byte-delete-region auto)
(byte-narrow-to-region)
(byte-widen)
(byte-end-of-line)
(byte-string=)
(byte-string<)
(byte-equal)
- (byte-nthcdr)
- (byte-elt)
- (byte-member)
- (byte-assq)
- (byte-nreverse)
- (byte-setcar)
- (byte-setcdr)
+ (byte-nthcdr auto)
+ (byte-elt auto)
+ (byte-member auto)
+ (byte-assq auto)
+ (byte-nreverse auto)
+ (byte-setcar auto)
+ (byte-setcdr auto)
(byte-car-safe
(comp-emit-set-call `(call Fcar_safe ,(comp-slot))))
(byte-cdr-safe
(byte-nconc)
(byte-quo)
(byte-rem)
- (byte-numberp)
- (byte-integerp)
+ (byte-numberp auto)
+ (byte-integerp auto)
(byte-listN)
(byte-concatN
(comp-stack-adjust (- (1- arg)))
(comp-emit-block 'entry)
(comp-emit-annotation (concat "Lisp function: "
(symbol-name (comp-func-symbol-name func))))
- (cl-loop for i below (comp-args-mandatory (comp-func-args func))
+ (cl-loop for i below (comp-args-min (comp-func-args func))
do (progn
(cl-incf (comp-sp))
(push `(setpar ,(comp-slot) ,i) comp-limple)))