From 7e9d1950fa06b8f81b3278edab1ca3de459a27eb Mon Sep 17 00:00:00 2001 From: Juan Jose Garcia Ripoll Date: Sat, 28 Jun 2008 19:31:05 +0200 Subject: [PATCH] Reuse code for long function calls --- src/cmp/cmpeval.lsp | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/src/cmp/cmpeval.lsp b/src/cmp/cmpeval.lsp index 7f8e46654..d1774fe52 100644 --- a/src/cmp/cmpeval.lsp +++ b/src/cmp/cmpeval.lsp @@ -71,13 +71,8 @@ (defun c1call-local (fname args) (let ((fun (local-function-ref fname))) (when fun - (let ((l (length args))) - (when (> l si::c-arguments-limit) - (return-from c1call-local - (let ((frame (gensym))) - (c1expr `(with-stack ,frame - ,@(loop for i in args collect `(stack-push ,i)) - (si::apply-from-stack-frame ,frame #',fname))))))) + (when (> (length args) si::c-arguments-limit) + (return-from c1call-local (unoptimized-long-call `#',fname args))) (let* ((forms (c1args* args)) (lambda-form (fun-lambda fun)) (return-type (or (get-local-return-type fun) 'T)) @@ -100,10 +95,7 @@ (let ((l (length args)) forms) (cond ((> l si::c-arguments-limit) - (c1expr (let ((frame (gensym))) - `(with-stack ,frame - ,@(loop for i in args collect `(stack-push ,frame ,i)) - (si::apply-from-stack-frame ,frame #',fname))))) + (unoptimized-long-call `#',fname args)) ((maybe-optimize-structure-access fname args)) #+clos ((maybe-optimize-generic-function fname args))