0.8.0.52
[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                   *read-only-space-free-pointer*
20                   sb!vm:*static-space-free-pointer*
21                   sb!vm:*initial-dynamic-space-free-pointer*
22                   *current-catch-block*
23                   *current-unwind-protect-block*
24                   sb!vm::*alien-stack*
25                   #!+sb-thread sb!thread::*foreground-thread-stack*
26                   sb!vm::*control-stack-start*
27                   sb!vm::*control-stack-end*
28                   sb!vm::*binding-stack-start*
29                   ;; FIXME: The pseudo-atomic variable stuff should be
30                   ;; conditional on :SB-PSEUDO-ATOMIC-SYMBOLS, which
31                   ;; should be conditional on :X86, instead of the
32                   ;; pseudo-atomic stuff being directly conditional on
33                   ;; :X86. (Note that non-X86 ports mention
34                   ;; pseudo-atomicity too, but they handle it without
35                   ;; messing with special variables.)
36                   #!+x86 *pseudo-atomic-atomic*
37                   #!+x86 *pseudo-atomic-interrupted*
38                   sb!unix::*interrupts-enabled*
39                   sb!unix::*interrupt-pending*
40                   *free-interrupt-context-index*
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!pcl::..slot-unbound..))