b7de91e52400d6a877e95b84a2c7b8a8c247f89e
[sbcl.git] / src / code / early-impl.lisp
1 ;;;; This software is part of the SBCL system. See the README file for
2 ;;;; more information.
3 ;;;;
4 ;;;; This software is derived from the CMU CL system, which was
5 ;;;; written at Carnegie Mellon University and released into the
6 ;;;; public domain. The software is in the public domain and is
7 ;;;; provided with absolutely no warranty. See the COPYING and CREDITS
8 ;;;; files for more information.
9
10 (in-package "SB!IMPL")
11
12 ;;; entries in STATIC-SYMBOLS table, references to which can be compiled
13 ;;; as though they're special variables
14 ;;;
15 ;;; FIXME: These should be listed once and only once, instead of
16 ;;; listed here and then listed separately (and by now, 2001-06-06,
17 ;;; slightly differently) elsewhere.
18 (declaim (special *posix-argv*
19                   *core-string*
20                   *read-only-space-free-pointer*
21                   sb!vm:*static-space-free-pointer*
22                   sb!vm::*current-catch-block*
23                   sb!vm::*current-unwind-protect-block*
24                   sb!vm::*alien-stack*
25                   sb!vm::*control-stack-start*
26                   sb!vm::*control-stack-end*
27                   sb!vm::*binding-stack-start*
28                   ;; FIXME: The pseudo-atomic variable stuff should be
29                   ;; conditional on :SB-PSEUDO-ATOMIC-SYMBOLS, which
30                   ;; should be conditional on :X86, instead of the
31                   ;; pseudo-atomic stuff being directly conditional on
32                   ;; :X86. (Note that non-X86 ports mention
33                   ;; pseudo-atomicity too, but they handle it without
34                   ;; messing with special variables.)
35                   #!+(or x86 x86-64) *pseudo-atomic-bits*
36                   *allow-with-interrupts*
37                   *interrupts-enabled*
38                   *interrupt-pending*
39                   *free-interrupt-context-index*
40                   sb!vm::*unwind-to-frame-function*
41                   sb!vm::*allocation-pointer*
42                   sb!vm::*binding-stack-pointer*
43                   sb!vm::*fp-constant-0d0*
44                   sb!vm::*fp-constant-1d0*
45                   sb!vm::*fp-constant-0f0*
46                   sb!vm::*fp-constant-1f0*
47                   sb!vm::*fp-constant-0l0*
48                   sb!vm::*fp-constant-1l0*
49                   sb!vm::*fp-constant-pi*
50                   sb!vm::*fp-constant-l2t*
51                   sb!vm::*fp-constant-l2e*
52                   sb!vm::*fp-constant-lg2*
53                   sb!vm::*fp-constant-ln2*
54                   sb!vm:*alloc-signal*
55                   sb!pcl::..slot-unbound..
56                   sb!pcl::*cache-miss-values-stack*
57                   sb!pcl::*dfun-miss-gfs-on-stack*))