;; local-target-features.lisp-expr via make-config.sh, as alpha,
;; sparc and ppc ports don't currently support it. -- CSR, 2002-02-21
- ;; We're running under a UNIX. This is sort of redundant, and it was also
- ;; sort of redundant under CMU CL, which we inherited it from: neither SBCL
- ;; nor CMU CL supports anything but UNIX (and "technically not UNIX"es
- ;; such as *BSD and Linux). But someday, maybe we might, and in that case
- ;; we'd presumably remove this, so its presence conveys the information
- ;; that the system isn't one which follows such a change.
- :unix
-
;;
;; features present in this particular build
;;
;; anyone who wants to collect such statistics in the future.
; :sb-dyncount
+ ;; Enable code for detecting concurrent accesses to the same hash-table
+ ;; in multiple threads. Note that this implementation is currently
+ ;; (2007-09-11) somewhat too eager: even though in the current implementation
+ ;; multiple readers are thread safe as long as there are no writers, this
+ ;; code will also trap multiple readers.
+ ; :sb-hash-table-debug
+
+ ;; Enabled automatically by make-config.sh for platforms which implement
+ ;; the %READ-CYCLE-COUNTER VOP. Can be disabled manually: affects TIME.
+ ;;
+ ;; FIXME: Should this be :SB-CYCLE-COUNTER instead? If so, then the same goes
+ ;; for :COMPARE-AND-SWAP-VOPS as well, and a bunch of others. Perhaps
+ ;; built-time convenience features like this should all live in eg. SB!INT
+ ;; instead?
+ ;;
+ ; :cycle-counter
+
+ ;; Enabled automatically for platforms which implement complex arithmetic
+ ;; VOPs. Such platforms should implement real-complex, complex-real and
+ ;; complex-complex addition and subtractions (for complex-single-float
+ ;; and complex-double-float). They should also also implement complex-real
+ ;; and real-complex multiplication, complex-real division, and
+ ;; sb!vm::swap-complex, which swaps the real and imaginary parts.
+ ;; Finally, they should implement conjugate and complex-real, real-complex
+ ;; and complex-complex CL:= (complex-complex EQL would usually be a good
+ ;; idea).
+ ;;
+ ; :complex-float-vops
+
;; Peter Van Eynde's increase-bulletproofness code for CMU CL
;;
;; Some of the code which was #+high-security before the fork has now
;; :hppa
;; any PA-RISC CPU
;; :mips
- ;; any MIPS CPU (in little-endian mode with :little-endian -- currently
- ;; untested)
+ ;; any MIPS CPU (in little-endian mode with :little-endian)
;;
;; (CMU CL also had a :pentium feature, which affected the definition
;; of some floating point vops. It was present but not enabled or
;; The backend implements compare-and-swap VOPs.
;;
;; operating system features:
+ ;; :unix = We're intended to run under some Unix-like OS. (This is not
+ ;; exclusive with the features which indicate which particular
+ ;; Unix-like OS we're intended to run under.)
;; :linux = We're intended to run under some version of Linux.
;; :bsd = We're intended to run under some version of BSD Unix. (This
;; is not exclusive with the features which indicate which
;; :darwin = We're intended to run under Darwin (including MacOS X).
;; :sunos = We're intended to run under Solaris user environment
;; with the SunOS kernel.
+ ;; :hpux = We're intended to run under HP-UX 11.11 or later
;; :osf1 = We're intended to run under Tru64 (aka Digital Unix
;; aka OSF/1).
- ;; (No others are supported by SBCL as of 0.9.6, but :hpux or :irix
+ ;; :win32 = We're intended to under some version of Microsoft Windows.
+ ;; (No others are supported by SBCL as of 1.0.8, but :hpux or :irix
;; support could be ported from CMU CL if anyone is sufficiently
- ;; motivated to do so, and it'd even be possible, though harder, to
- ;; port the system to Microsoft Windows.)
+ ;; motivated to do so.)
)