1.0.3.39: larger heap size for x86-64/darwin
authorCyrus Harmon <ch-sbcl@bobobeach.com>
Thu, 15 Mar 2007 15:14:15 +0000 (15:14 +0000)
committerCyrus Harmon <ch-sbcl@bobobeach.com>
Thu, 15 Mar 2007 15:14:15 +0000 (15:14 +0000)
 * removed darwin specific params for space locations.
 * modify gettimeofday of call on darwin x86-64 to not pass in a
   timezone pointer as this causes the gettimeofday syscall to
   occasionally fail. This is a temporary hack and should be fixed.

src/code/unix.lisp
src/compiler/x86-64/parms.lisp
version.lisp-expr

index 7f655d1..26fae5c 100644 (file)
@@ -766,6 +766,21 @@ SYSCALL-FORM. Repeat evaluation of SYSCALL-FORM if it is interrupted."
 ;;; doesn't work, it returns NIL and the errno.
 #!-sb-fluid (declaim (inline unix-gettimeofday))
 (defun unix-gettimeofday ()
+  #!+(and x86-64 darwin)
+  (with-alien ((tv (struct timeval)))
+    ;; CLH: FIXME! This seems to be a MacOS bug, but on x86-64/darwin,
+    ;; gettimeofday occasionally fails. passing in a null pointer for
+    ;; the timezone struct seems to work around the problem. I can't
+    ;; find any instances in the SBCL where we actually ues the
+    ;; timezone values, so we just punt for the moment.
+    (syscall* ("gettimeofday" (* (struct timeval))
+                              (* (struct timezone)))
+              (values t
+                      (slot tv 'tv-sec)
+                      (slot tv 'tv-usec))
+              (addr tv)
+              nil))
+  #!-(and x86-64 darwin)
   (with-alien ((tv (struct timeval))
                (tz (struct timezone)))
     (syscall* ("gettimeofday" (* (struct timeval))
index 916a9c0..91ebb63 100644 (file)
@@ -97,7 +97,6 @@
 ;;; would be possible, but probably not worth the time and code bloat
 ;;; it would cause. -- JES, 2005-12-11
 
-#!+(or linux freebsd)
 (progn
   (def!constant read-only-space-start     #x20000000)
   (def!constant read-only-space-end       #x27ff0000)
 
   (def!constant linkage-table-entry-size 16))
 
-#!+darwin
-(progn
-  (def!constant read-only-space-start     #x20000000)
-  (def!constant read-only-space-end       #x27ff0000)
-
-  (def!constant static-space-start        #x40000000)
-  (def!constant static-space-end          #x47fff000)
-
-  #+nil  (def!constant dynamic-space-start   #x1000000000)
-  #+nil  (def!constant dynamic-space-end     #x11ffff0000)
-
-  (def!constant dynamic-space-start   #x50000000)
-  (def!constant dynamic-space-end     #x5fff0000)
-
-  (def!constant linkage-table-space-start #x60000000)
-  (def!constant linkage-table-space-end   #x63fff000)
-
-  (def!constant linkage-table-entry-size 16))
-
-
 \f
 ;;;; other miscellaneous constants
 
index 284bebf..ea4db7a 100644 (file)
@@ -17,4 +17,4 @@
 ;;; checkins which aren't released. (And occasionally for internal
 ;;; versions, especially for internal versions off the main CVS
 ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"1.0.3.38"
+"1.0.3.39"