From e287445b98601746774fe044d569e5cc9c6f933f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Kochma=C5=84ski?= Date: Mon, 6 Nov 2023 15:46:27 +0100 Subject: [PATCH] cmp: exit manager: remove obsolete tags and fix typos - remove tags number and jump (unknown purpose) - update the comment to include RETURN-{LONG-FLOAT,C?FLOAT} - fix typos where RETURN-CSFLOAT was repeated thrice --- src/cmp/cmpbackend-cxx/cmppass2-exit.lsp | 25 ++++++++++-------------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/src/cmp/cmpbackend-cxx/cmppass2-exit.lsp b/src/cmp/cmpbackend-cxx/cmppass2-exit.lsp index 8ef8d7d18..b86146b0b 100644 --- a/src/cmp/cmpbackend-cxx/cmppass2-exit.lsp +++ b/src/cmp/cmpbackend-cxx/cmppass2-exit.lsp @@ -18,8 +18,6 @@ ;;; UNWIND-EXIT TAGS PURPOSE ;;; -;;; number -> unknown purpose -;;; JUMP -> unknown purpose ;;; FRAME -> ecl_frs_push() ;;; IHS -> ihs push ;;; IHS-ENV -> ihs push @@ -28,10 +26,11 @@ ;;; (LCL n) -> n local variables ;;; (STACK n) -> n elements pushed in stack ;;; TAIL-RECURSION-MARK -> TTL: label created -;;; RETURN* -> outermost location +;;; RETURN -> outermost location (*) ;;; -;;; (*) also RETURN-FIXNUM, -CHARACTER, -SINGLE-FLOAT -;;; -DOUBLE-FLOAT, -OBJECT. +;;; (*) also RETURN-{FIXNUM,CHARACTER,OBJECT} +;;; RETURN-{SINGLE-FLOAT,DOUBLE-FLOAT,LONG-FLOAT} +;;; RETURN-{CSFLOAT,CDFLOAT,CLFLOAT} ;;; (defun unwind-bds (bds-lcl bds-bind stack-frame ihs-p) (declare (fixnum bds-bind)) @@ -102,18 +101,18 @@ (t (set-loc loc) (unwind-bds bds-lcl bds-bind stack-frame ihs-p))) - (when jump-p (wt-nl) (wt-go *exit*)) + (when jump-p + (wt-nl) + (wt-go *exit*)) (return)) (t (setq jump-p t)))) - ((numberp ue) - (baboon-unwind-exit ue) - (setq bds-lcl ue bds-bind 0)) (t (case ue (IHS (setf ihs-p ue)) (IHS-ENV (setf ihs-p (or ihs-p ue))) (BDS-BIND (incf bds-bind)) (RETURN - (unless (eq *exit* 'RETURN) (baboon-unwind-exit ue)) + (unless (eq *exit* 'RETURN) + (baboon-unwind-exit ue)) ;; *destination* must be either RETURN or TRASH. (cond ((eq loc 'VALUES) ;; from multiple-value-prog1 or values @@ -131,7 +130,7 @@ (return)) ((RETURN-FIXNUM RETURN-CHARACTER RETURN-OBJECT RETURN-DOUBLE-FLOAT RETURN-SINGLE-FLOAT RETURN-LONG-FLOAT - RETURN-CSFLOAT RETURN-CSFLOAT RETURN-CSFLOAT) + RETURN-CSFLOAT RETURN-CDFLOAT RETURN-CLFLOAT) (when (eq *exit* ue) ;; *destination* must be RETURN-FIXNUM (setq loc (list 'COERCE-LOC @@ -161,7 +160,6 @@ (setq loc *destination*)) (wt-nl "ecl_frs_pop(cl_env_copy);")) (TAIL-RECURSION-MARK) - (JUMP (setq jump-p t)) (t (baboon-unwind-exit ue)))))) ;;; Never reached ) @@ -186,13 +184,10 @@ ((consp ue) (when (eq (first ue) 'STACK) (setf stack-frame (second ue)))) - ((numberp ue) - (setq bds-lcl ue bds-bind 0)) ((eq ue 'BDS-BIND) (incf bds-bind)) ((eq ue 'FRAME) (wt-nl "ecl_frs_pop(cl_env_copy);")) - ((eq ue 'JUMP)) ((eq ue 'IHS-ENV) (setf ihs-p ue)) (t (baboon-unwind-exit ue)))