1.0.16.7: slightly faster LAST
[sbcl.git] / src / compiler / late-proclaim.lisp
1 ;;;; late happenning functionality for PROCLAIM.  We run through
2 ;;;; queued-up type and ftype proclaims that were made before the type
3 ;;;; system was initialized, and (since it is now initalized)
4 ;;;; reproclaim them.
5
6 ;;;; This software is part of the SBCL system. See the README file for
7 ;;;; more information.
8 ;;;;
9 ;;;; This software is derived from the CMU CL system, which was
10 ;;;; written at Carnegie Mellon University and released into the
11 ;;;; public domain. The software is in the public domain and is
12 ;;;; provided with absolutely no warranty. See the COPYING and CREDITS
13 ;;;; files for more information.
14
15 (in-package "SB!C")
16
17 (!begin-collecting-cold-init-forms)
18
19 (!cold-init-forms (aver *type-system-initialized*))
20 (!cold-init-forms (mapcar #'sb!xc:proclaim *queued-proclaims*))
21 ;;; We only need this once, then it's set up for good.  We keep it
22 ;;; around in the cross-compiler mostly so that we can inspect its
23 ;;; value.
24 #-sb-xc-host
25 (!cold-init-forms (makunbound '*queued-proclaims*))
26
27 (!defun-from-collected-cold-init-forms !late-proclaim-cold-init)