6bb0e77c3aa00531f9732dc491791a235164f888
[sbcl.git] / src / compiler / generic / parms.lisp
1 ;;;; This file contains some parameterizations of various VM
2 ;;;; attributes common to all architectures.
3
4 ;;;; This software is part of the SBCL system. See the README file for
5 ;;;; more information.
6 ;;;;
7 ;;;; This software is derived from the CMU CL system, which was
8 ;;;; written at Carnegie Mellon University and released into the
9 ;;;; public domain. The software is in the public domain and is
10 ;;;; provided with absolutely no warranty. See the COPYING and CREDITS
11 ;;;; files for more information.
12
13 (in-package "SB!VM")
14
15 (defparameter *c-callable-static-symbols*
16   '(sub-gc
17     sb!kernel::post-gc
18     sb!kernel::internal-error
19     sb!kernel::control-stack-exhausted-error
20     sb!kernel::binding-stack-exhausted-error
21     sb!kernel::alien-stack-exhausted-error
22     sb!kernel::heap-exhausted-error
23     sb!kernel::undefined-alien-variable-error
24     sb!kernel::undefined-alien-function-error
25     sb!kernel::memory-fault-error
26     sb!kernel::unhandled-trap-error
27     sb!di::handle-breakpoint
28     sb!di::handle-single-step-trap
29     fdefinition-object
30     #!+win32 sb!kernel::handle-win32-exception))
31
32 (defparameter *common-static-symbols*
33   '(t
34
35     ;; filled in by the C code to propagate to Lisp
36     *posix-argv* *core-string*
37
38     ;; free pointers.  Note that these are FIXNUM word counts, not (as
39     ;; one might expect) byte counts or SAPs. The reason seems to be
40     ;; that by representing them this way, we can avoid consing
41     ;; bignums.  -- WHN 2000-10-02
42     *read-only-space-free-pointer*
43     *static-space-free-pointer*
44
45     ;; things needed for non-local-exit
46     *current-catch-block*
47     *current-unwind-protect-block*
48
49     #!+hpux *c-lra*
50
51     ;; stack pointers
52     *binding-stack-start*
53     *control-stack-start*
54     *control-stack-end*
55
56     ;; interrupt handling
57     *alloc-signal*
58     *free-interrupt-context-index*
59     sb!unix::*allow-with-interrupts*
60     sb!unix::*interrupts-enabled*
61     sb!unix::*interrupt-pending*
62     *in-without-gcing*
63     *gc-inhibit*
64     *gc-pending*
65     #!-sb-thread
66     *stepping*
67
68     ;; Dispatch tables for generic array access
69     sb!impl::*data-vector-reffers*
70     sb!impl::*data-vector-setters*
71     sb!impl::*data-vector-reffers/check-bounds*
72     sb!impl::*data-vector-setters/check-bounds*
73
74     ;; hash table weaknesses
75     :key
76     :value
77     :key-and-value
78     :key-or-value))
79
80 ;;; Number of entries in the thread local storage. Limits the number
81 ;;; of symbols with thread local bindings.
82 (def!constant tls-size 4096)
83
84 (defenum ()
85   trace-table-normal
86   trace-table-call-site
87   trace-table-fun-prologue
88   trace-table-fun-epilogue)