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