0.6.12.22:
[sbcl.git] / src / compiler / x86 / backend-parms.lisp
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.
6
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.
15
16 (in-package "SB!VM")
17 \f
18 ;;;; compiler constants
19
20 (setf *backend-fasl-file-type* "x86f")
21 (defconstant +backend-fasl-file-implementation+ :x86)
22
23 (setf *backend-register-save-penalty* 3)
24
25 (setf *backend-byte-order* :little-endian)
26
27 ;;; KLUDGE: It would seem natural to set this by asking our C runtime
28 ;;; code for it, but mostly we need it for GENESIS, which doesn't in
29 ;;; general have our C runtime code running to ask, so instead we set
30 ;;; it by hand. -- WHN 2001-04-15
31 (setf *backend-page-size* 4096)
32 ;;; comment from CMU CL:
33 ;;;
34 ;;;   in case we ever wanted to do this for Windows NT..
35 ;;;
36 ;;;   Windows NT uses a memory system granularity of 64K, which means
37 ;;;   everything that gets mapped must be a multiple of that. The real
38 ;;;   page size is 512, but that doesn't do us a whole lot of good.
39 ;;;   Effectively, the page size is 64K.
40 ;;;
41 ;;;   would be: (setf *backend-page-size* 65536)