Skip to content
Snippets Groups Projects
Commit d79cf14f authored by wlott's avatar wlott
Browse files

Changed the byte-function and byte-closure funcallable-instances to use

&more args instead of a &rest arg.
parent e4297f35
No related branches found
No related tags found
No related merge requests found
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
;;; Scott Fahlman or slisp-group@cs.cmu.edu. ;;; Scott Fahlman or slisp-group@cs.cmu.edu.
;;; ;;;
(ext:file-comment (ext:file-comment
"$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/byte-interp.lisp,v 1.29 1993/11/02 16:07:46 ram Exp $") "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/byte-interp.lisp,v 1.30 1994/02/04 15:29:19 wlott Exp $")
;;; ;;;
;;; ********************************************************************** ;;; **********************************************************************
;;; ;;;
...@@ -367,13 +367,12 @@ ...@@ -367,13 +367,12 @@
(push xep (code-header-ref (byte-function-component xep) (push xep (code-header-ref (byte-function-component xep)
vm:code-trace-table-offset-slot)) vm:code-trace-table-offset-slot))
(setf (funcallable-instance-function xep) (setf (funcallable-instance-function xep)
#'(instance-lambda (&rest args) #'(instance-lambda (&more context count)
(let ((old-sp (current-stack-pointer)) (let ((old-sp (current-stack-pointer)))
(num-args (length args)))
(declare (type stack-pointer old-sp)) (declare (type stack-pointer old-sp))
(dolist (arg args) (dotimes (i count)
(push-eval-stack arg)) (push-eval-stack (%more-arg context i)))
(invoke-xep nil 0 old-sp 0 num-args xep)))) (invoke-xep nil 0 old-sp 0 count xep))))
xep) xep)
(defun make-byte-compiled-closure (xep closure-vars) (defun make-byte-compiled-closure (xep closure-vars)
...@@ -381,13 +380,12 @@ ...@@ -381,13 +380,12 @@
(type simple-vector closure-vars)) (type simple-vector closure-vars))
(let ((res (make-byte-closure xep closure-vars))) (let ((res (make-byte-closure xep closure-vars)))
(setf (funcallable-instance-function res) (setf (funcallable-instance-function res)
#'(instance-lambda (&rest args) #'(instance-lambda (&more context count)
(let ((old-sp (current-stack-pointer)) (let ((old-sp (current-stack-pointer)))
(num-args (length args)))
(declare (type stack-pointer old-sp)) (declare (type stack-pointer old-sp))
(dolist (arg args) (dotimes (i count)
(push-eval-stack arg)) (push-eval-stack (%more-arg context i)))
(invoke-xep nil 0 old-sp 0 num-args (invoke-xep nil 0 old-sp 0 count
(byte-closure-function res) (byte-closure-function res)
(byte-closure-data res))))) (byte-closure-data res)))))
res)) res))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment