X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fsparc%2Fnlx.lisp;h=12e29f731403e25cfa60339188e580011d84d036;hb=f69ea3d7480621d986c40caa07bb9a6140e90cf5;hp=2b63b13fcb8f15c1e159b3afb9dc195e150713af;hpb=68fd2d2dd6f265669a8957accd8a33e62786a97e;p=sbcl.git diff --git a/src/compiler/sparc/nlx.lisp b/src/compiler/sparc/nlx.lisp index 2b63b13..12e29f7 100644 --- a/src/compiler/sparc/nlx.lisp +++ b/src/compiler/sparc/nlx.lisp @@ -1,5 +1,5 @@ -;;;; the definitions of VOPs used for non-local exit (throw, lexical -;;;; exit, etc.) +;;;; the SPARC definitions of VOPs used for non-local exit (throw, +;;;; lexical exit, etc.) ;;;; This software is part of the SBCL system. See the README file for ;;;; more information. @@ -33,17 +33,10 @@ ;;; additional stacks, then this would be the place to restore the top ;;; pointers. - -;;; Return a list of TNs that can be used to snapshot the dynamic -;;; state for use with the Save/Restore-Dynamic-Environment VOPs. -(!def-vm-support-routine make-dynamic-state-tns () - (make-n-tns 4 *backend-t-primitive-type*)) - (define-vop (save-dynamic-state) (:results (catch :scs (descriptor-reg)) (nfp :scs (descriptor-reg)) - (nsp :scs (descriptor-reg)) - (eval :scs (descriptor-reg))) + (nsp :scs (descriptor-reg))) (:vop-var vop) (:generator 13 (load-symbol-value catch *current-catch-block*) @@ -55,8 +48,7 @@ (define-vop (restore-dynamic-state) (:args (catch :scs (descriptor-reg)) (nfp :scs (descriptor-reg)) - (nsp :scs (descriptor-reg)) - (eval :scs (descriptor-reg))) + (nsp :scs (descriptor-reg))) (:vop-var vop) (:generator 10 (store-symbol-value catch *current-catch-block*) @@ -101,7 +93,7 @@ ;;; link the block into the Current-Catch list. (define-vop (make-catch-block) (:args (tn) - (tag :scs (descriptor-reg))) + (tag :scs (any-reg descriptor-reg))) (:info entry-label) (:results (block :scs (any-reg))) (:temporary (:scs (descriptor-reg)) temp)