Add MAKE-DUMMY-FDEFN function.
[sbcl.git] / src / compiler / x86-64 / backend-parms.lisp
blob3d72e3718a7c1cd927b8514c405f76cd54e04981
1 ;;;; that part of the parms.lisp file from original CMU CL which is defined in
2 ;;;; terms of the BACKEND structure
3 ;;;;
4 ;;;; FIXME: When we break up the BACKEND structure, this might be mergeable
5 ;;;; back into the parms.lisp file.
7 ;;;; This software is part of the SBCL system. See the README file for
8 ;;;; more information.
9 ;;;;
10 ;;;; This software is derived from the CMU CL system, which was
11 ;;;; written at Carnegie Mellon University and released into the
12 ;;;; public domain. The software is in the public domain and is
13 ;;;; provided with absolutely no warranty. See the COPYING and CREDITS
14 ;;;; files for more information.
16 (in-package "SB!VM")
18 ;;;; compiler constants
20 (defconstant +backend-fasl-file-implementation+ :x86-64)
22 (setf *backend-register-save-penalty* 3)
24 (setf *backend-byte-order* :little-endian)
26 ;;; KLUDGE: It would seem natural to set this by asking our C runtime
27 ;;; code for it, but mostly we need it for GENESIS, which doesn't in
28 ;;; general have our C runtime code running to ask, so instead we set
29 ;;; it by hand. -- WHN 2001-04-15
30 ;;;
31 ;;; Actually any information that we can retrieve C-side would be
32 ;;; useless in SBCL, since it's possible for otherwise binary
33 ;;; compatible systems to return different values for getpagesize().
34 ;;; -- JES, 2007-01-06
35 (eval-when (:compile-toplevel :load-toplevel :execute)
36 (setf *backend-page-bytes* 32768))
38 ;;; The size in bytes of GENCGC cards, i.e. the granularity at which
39 ;;; writes to old generations are logged. With mprotect-based write
40 ;;; barriers, this must be a multiple of the OS page size.
41 (defconstant gencgc-card-bytes *backend-page-bytes*)
42 ;;; The minimum size of new allocation regions. While it doesn't
43 ;;; currently make a lot of sense to have a card size lower than
44 ;;; the alloc granularity, it will, once we are smarter about finding
45 ;;; the start of objects.
46 (defconstant gencgc-alloc-granularity 0)
47 ;;; The minimum size at which we release address ranges to the OS.
48 ;;; This must be a multiple of the OS page size.
49 (defconstant gencgc-release-granularity *backend-page-bytes*)
50 ;;; The card size for immobile/low space
51 #!+immobile-space (def!constant immobile-card-bytes 4096)
53 #!+sb-safepoint
54 (defconstant thread-saved-csp-offset
55 (- (/ *backend-page-bytes* n-word-bytes)))