0.7.13.17:
[sbcl.git] / src / compiler / generic / late-nlx.lisp
1 ;;;; some help for the definition of generic non-local exit
2
3 ;;;; This software is part of the SBCL system. See the README file for
4 ;;;; more information.
5 ;;;;
6 ;;;; This software is derived from the CMU CL system, which was
7 ;;;; written at Carnegie Mellon University and released into the
8 ;;;; public domain. The software is in the public domain and is
9 ;;;; provided with absolutely no warranty. See the COPYING and CREDITS
10 ;;;; files for more information.
11
12 (in-package "SB!VM")
13 \f
14 ;;; Return a list of TNs that can be used to snapshot the dynamic
15 ;;; state for use with the SAVE- and RESTORE-DYNAMIC-ENVIRONMENT VOPs.
16 (!def-vm-support-routine make-dynamic-state-tns ()
17   (make-n-tns #.(let ((nsave
18                        (sb!c::vop-info-num-results
19                         (template-or-lose 'save-dynamic-state)))
20                       (nrestore
21                        (sb!c::vop-info-num-args
22                         (template-or-lose 'restore-dynamic-state))))
23                   (aver (= nsave nrestore))
24                   nsave)
25               *backend-t-primitive-type*))
26