]> git.eshelyaron.com Git - emacs.git/commitdiff
rework comp-callref lambda list
authorAndrea Corallo <akrl@sdf.org>
Sat, 16 Nov 2019 14:24:35 +0000 (15:24 +0100)
committerAndrea Corallo <akrl@sdf.org>
Wed, 1 Jan 2020 10:38:05 +0000 (11:38 +0100)
lisp/emacs-lisp/comp.el

index d62b4cbbe1a450a916fb635a92cf7c583f240c38..4012510302445b3936211c9e9fb8deff6f177938 100644 (file)
@@ -566,12 +566,13 @@ The basic block is returned regardless it was already declared or not."
   (comp-add-subr-to-relocs func)
   `(call ,func ,@args))
 
-(defun comp-callref (func &rest args)
-  "Emit a call usign narg abi for FUNC with ARGS."
+(defun comp-callref (func nargs stack-off)
+  "Emit a call usign narg abi for FUNC.
+NARGS is the number of arguments.
+STACK-OFF is the index of the first slot frame involved."
   (comp-add-subr-to-relocs func)
-  `(callref ,func ,@(cl-loop with (nargs off) = args
-                             repeat nargs
-                             for sp from off
+  `(callref ,func ,@(cl-loop repeat nargs
+                             for sp from stack-off
                              collect (comp-slot-n sp))))
 
 (cl-defun make-comp-mvar (&key slot (constant nil const-vld) type)