0.9.8.7:
[sbcl.git] / src / compiler / x86 / parms.lisp
index 7368aed..e53929d 100644 (file)
 ;;; addressable object
 (def!constant n-byte-bits 8)
 
+;;; The size in bytes of the GENCGC pages. Should be a multiple of the
+;;; architecture code size.
+(def!constant gencgc-page-size 4096)
+
 (def!constant float-sign-shift 31)
 
 ;;; comment from CMU CL:
 ;;;     set the top-down mmap allocation option in the kernel (not yet
 ;;;     the default), all bets are totally off!
 
+#!+win32
+(progn
+
+  (def!constant read-only-space-start #x01000000)
+  (def!constant read-only-space-end   #x037ff000)
+
+  (def!constant static-space-start    #x05000000)
+  (def!constant static-space-end      #x07fff000)
+
+  (def!constant dynamic-space-start   #x09000000)
+  (def!constant dynamic-space-end     #x29000000))
+
 #!+linux
 (progn
   (def!constant read-only-space-start     #x01000000)
   cerror
   breakpoint
   fun-end-breakpoint
-  single-step-breakpoint)
+  single-step-breakpoint
+  #!+win32 context-restore) ;; HACK: The Win32 exception handling system does wrong things with this.
 ;;; FIXME: It'd be nice to replace all the DEFENUMs with something like
 ;;;   (WITH-DEF-ENUM (:START 8)
 ;;;     (DEF-ENUM HALT-TRAP)
     sb!kernel::memory-fault-error
     sb!di::handle-breakpoint
     fdefinition-object
+    #!+win32 sb!kernel::handle-win32-exception
 
     ;; free pointers
     ;;
     *fp-constant-lg2*
     *fp-constant-ln2*
 
+    ;; For GC-AND-SAVE
+    *restart-lisp-function*
+
     ;; The ..SLOT-UNBOUND.. symbol is static in order to optimise the
     ;; common slot unbound check.
     ;;