tidying...
...*REVERSED-TYPE-INFO-INIT-FORMS* isn't needed at run time.
...HOLES stuff is long-dead code -- seems to be related to
something on old old CMU CL SPARC port -- so delete it.
(pointed out by nyef on #lisp)
...For that matter, FIND-HOLES is no longer used either,
so delete it too.
...belated *and*-*edit* in cut-and-paste-and-edit of FTYPE
declaration of !COLD-LOSE
"ERROR-TRAP" "EVEN-FIXNUM-LOWTAG"
"EXPORTED-STATIC-SYMBOLS" "EXTERN-ALIEN-NAME"
"FDEFN-FUN-SLOT" "FDEFN-NAME-SLOT" "FDEFN-RAW-ADDR-SLOT"
- "FDEFN-SIZE" "FDEFN-WIDETAG" "FIND-HOLES" "FIXNUMIZE"
+ "FDEFN-SIZE" "FDEFN-WIDETAG" "FIXNUMIZE"
"FIXUP-CODE-OBJECT" "FLOAT-DENORMAL-TRAP-BIT"
"FLOAT-DIVIDE-BY-ZERO-TRAP-BIT"
"FLOAT-IMPRECISE-TRAP-BIT" "FLOAT-INVALID-TRAP-BIT"
\f
;;;; putting ourselves out of our misery when things become too much to bear
-(declaim (ftype (function (simple-string) nil) critically-unreachable))
+(declaim (ftype (function (simple-string) nil) !cold-lose))
(defun !cold-lose (msg)
(%primitive print msg)
(%primitive print "too early in cold init to recover from errors")
(values))
\f
-(defun find-holes (&rest spaces)
- (dolist (space (or spaces '(:read-only :static :dynamic)))
- (format t "In ~A space:~%" space)
- (let ((start-addr nil)
- (total-bytes 0))
- (declare (type (or null (unsigned-byte 32)) start-addr)
- (type (unsigned-byte 32) total-bytes))
- (map-allocated-objects
- (lambda (object typecode bytes)
- (declare (ignore typecode)
- (type (unsigned-byte 32) bytes))
- (if (and (consp object)
- (eql (car object) 0)
- (eql (cdr object) 0))
- (if start-addr
- (incf total-bytes bytes)
- (setf start-addr (sb!di::get-lisp-obj-address object)
- total-bytes bytes))
- (when start-addr
- (format t "~:D bytes at #X~X~%" total-bytes start-addr)
- (setf start-addr nil))))
- space)
- (when start-addr
- (format t "~:D bytes at #X~X~%" total-bytes start-addr))))
- (values))
-\f
;;;; PRINT-ALLOCATED-OBJECTS
(defun print-allocated-objects (space &key (percent 0) (pages 5)
;;; order in which the TYPE-INFO-creation forms are generated doesn't
;;; match the relative order in which the forms need to be executed at
;;; cold load time.
-(defparameter *reversed-type-info-init-forms* nil)
+(defparameter *!reversed-type-info-init-forms* nil)
;;; Define a new type of global information for CLASS. TYPE is the
;;; name of the type, DEFAULT is the value for that type when it
(declare (ignorable name))
,',default))
(setf (type-info-type type-info) ',',type-spec))
- *reversed-type-info-init-forms*))
+ *!reversed-type-info-init-forms*))
',type))
) ; EVAL-WHEN
;;; we can set their DEFAULT and TYPE slots.
(macrolet ((frob ()
`(!cold-init-forms
- ,@(reverse *reversed-type-info-init-forms*))))
+ ,@(reverse *!reversed-type-info-init-forms*))))
(frob))
\f
;;;; a hack for detecting
}
}
-#ifdef HOLES
-
-static os_vm_address_t holes[] = HOLES;
-
-static void
-make_holes(void)
-{
- int i;
-
- for (i = 0; i < sizeof(holes)/sizeof(holes[0]); i++) {
- if (os_validate(holes[i], HOLE_SIZE) == NULL) {
- fprintf(stderr,
- "make_holes: failed to validate %ld bytes at 0x%08X\n",
- HOLE_SIZE,
- (unsigned long)holes[i]);
- exit(1);
- }
- os_protect(holes[i], HOLE_SIZE, 0);
- }
-}
-#endif
-
void
validate(void)
{
ensure_space( (lispobj *)DYNAMIC_1_SPACE_START , DYNAMIC_SPACE_SIZE);
#endif
-#ifdef HOLES
- make_holes();
-#endif
-
#ifdef PRINTNOISE
printf(" done.\n");
#endif
;;; 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".)
-"0.8.9.13"
+"0.8.9.14"