X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fdump.lisp;h=d17167cf5dc1e8f73e6e818eefd8af9b7fc49156;hb=fdf07da187cb31fd5bdd872c73245fd72877b1a1;hp=87f72ec96f0c59ced734da98715d0815d2d3dda2;hpb=d147d512602d761a2dcdfded506dd1a8f9a140dc;p=sbcl.git diff --git a/src/compiler/dump.lisp b/src/compiler/dump.lisp index 87f72ec..d17167c 100644 --- a/src/compiler/dump.lisp +++ b/src/compiler/dump.lisp @@ -128,7 +128,7 @@ ;;; Setting this variable to an (UNSIGNED-BYTE 32) value causes ;;; DUMP-FOP to use it as a counter and emit a FOP-NOP4 with the ;;; counter value before every ordinary fop. This can make it easier -;;; to follow the progress of FASLOAD when +;;; to follow the progress of LOAD-AS-FASL when ;;; debugging/testing/experimenting. #!+sb-show (defvar *fop-nop4-count* nil) #!+sb-show (declaim (type (or (unsigned-byte 32) null) *fop-nop4-count*)) @@ -307,21 +307,6 @@ ;;;; main entries to object dumping -;;; KLUDGE: This definition doesn't really belong in this file, but at -;;; least it can be compiled without error here, and it's used here. -;;; The definition requires the IGNORE-ERRORS macro, and in -;;; sbcl-0.6.8.11 that's defined in early-target-error.lisp, and all -;;; of the files which would otherwise be natural homes for this -;;; definition (e.g. early-extensions.lisp or late-extensions.lisp) -;;; are compiled before early-target-error.lisp. -- WHN 2000-11-07 -(defun circular-list-p (list) - (and (listp list) - (multiple-value-bind (res condition) - (ignore-errors (list-length list)) - (if condition - nil - (null res))))) - ;;; This function deals with dumping objects that are complex enough ;;; so that we want to cache them in the table, rather than repeatedly ;;; dumping them. If the object is in the EQ-TABLE, then we push it, @@ -351,12 +336,12 @@ ;; So if better list coalescing is needed, start here. ;; -- WHN 2000-11-07 (if (circular-list-p x) - (progn - (dump-list x file) - (eq-save-object x file)) - (unless (equal-check-table x file) - (dump-list x file) - (equal-save-object x file)))) + (progn + (dump-list x file) + (eq-save-object x file)) + (unless (equal-check-table x file) + (dump-list x file) + (equal-save-object x file)))) (layout (dump-layout x file) (eq-save-object x file)) @@ -493,15 +478,13 @@ ;;;; number dumping -;;; Dump a ratio - +;;; Dump a ratio. (defun dump-ratio (x file) (sub-dump-object (numerator x) file) (sub-dump-object (denominator x) file) (dump-fop 'sb!impl::fop-ratio file)) ;;; Dump an integer. - (defun dump-integer (n file) (typecase n ((signed-byte 8)