X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fdump.lisp;h=c51e480c45913973d681d9717f4acb03a9a6be52;hb=2a71a27c55ad98e36f2886017d45ca2ae986296d;hp=a66ac81a68cabc19bf44442743dbe78d57304c12;hpb=d334bb7db90f9f88b22cd4786083ba96d976ba33;p=sbcl.git diff --git a/src/compiler/dump.lisp b/src/compiler/dump.lisp index a66ac81..c51e480 100644 --- a/src/compiler/dump.lisp +++ b/src/compiler/dump.lisp @@ -600,9 +600,15 @@ (t (unless *cold-load-dump* (dump-fop 'fop-normal-load file)) + #+sb-xc-host (dump-simple-base-string (coerce (package-name pkg) 'simple-base-string) file) + #-sb-xc-host + (#!+sb-unicode dump-simple-character-string + #!-sb-unicode dump-simple-base-string + (coerce (package-name pkg) '(simple-array character (*))) + file) (dump-fop 'fop-package file) (unless *cold-load-dump* (dump-fop 'fop-maybe-cold-load file)) @@ -733,10 +739,24 @@ (*))) x))) (typecase simple-version + #+sb-xc-host + (simple-string + (unless (string-check-table x file) + (dump-simple-base-string simple-version file) + (string-save-object x file))) + #-sb-xc-host (simple-base-string - (unless (equal-check-table x file) + (unless (string-check-table x file) (dump-simple-base-string simple-version file) - (equal-save-object x file))) + (string-save-object x file))) + #-sb-xc-host + ((simple-array character (*)) + #!+sb-unicode + (unless (string-check-table x file) + (dump-simple-character-string simple-version file) + (string-save-object x file)) + #!-sb-unicode + (bug "how did we get here?")) (simple-vector (dump-simple-vector simple-version file) (eq-save-object x file)) @@ -876,10 +896,10 @@ (dump-unsigned-vector 32 (* 4 len))) #-sb-xc-host #!+#.(cl:if (cl:= 64 sb!vm:n-word-bits) '(and) '(or)) - ((simple-array (unsigned-byte-63) (*)) + ((simple-array (unsigned-byte 63) (*)) (dump-unsigned-vector 63 (* 8 len))) #!+#.(cl:if (cl:= 64 sb!vm:n-word-bits) '(and) '(or)) - ((simple-array (unsigned-byte-64) (*)) + ((simple-array (unsigned-byte 64) (*)) (dump-unsigned-vector 64 (* 8 len))) ((simple-array (signed-byte 8) (*)) (dump-signed-vector 8 len)) @@ -979,7 +999,10 @@ file) (dump-word pname-length file))) - (dump-base-chars-of-string pname file) + #+sb-xc-host (dump-base-chars-of-string pname file) + #-sb-xc-host (#!+sb-unicode dump-characters-of-string + #!-sb-unicode dump-base-chars-of-string + pname file) (unless *cold-load-dump* (setf (gethash s (fasl-output-eq-table file))