X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Ftarget-dump.lisp;h=26c73808defc43be3cf5bafb40c9cc6fa58ddeec;hb=bf27595fb567015495b7131707cc85af361567fe;hp=01eba241c73316628ddbf0e99a0a3e8ba7464198;hpb=d334bb7db90f9f88b22cd4786083ba96d976ba33;p=sbcl.git diff --git a/src/compiler/target-dump.lisp b/src/compiler/target-dump.lisp index 01eba24..26c7380 100644 --- a/src/compiler/target-dump.lisp +++ b/src/compiler/target-dump.lisp @@ -13,6 +13,22 @@ (in-package "SB!FASL") +;;; a helper function shared by DUMP-SIMPLE-CHARACTER-STRING and +;;; DUMP-SYMBOL (in the target compiler: the cross-compiler uses the +;;; portability knowledge and always dumps BASE-STRINGS). +#!+sb-unicode +(defun dump-characters-of-string (s fasl-output) + (declare (type string s) (type fasl-output fasl-output)) + (dovector (c s) + (dump-word (char-code c) fasl-output)) + (values)) +#!+sb-unicode +(defun dump-simple-character-string (s file) + (declare (type (simple-array character (*)) s)) + (dump-fop* (length s) fop-small-character-string fop-character-string file) + (dump-characters-of-string s file) + (values)) + ;;; Dump the first N bytes of VEC out to FILE. VEC is some sort of unboxed ;;; vector-like thing that we can BLT from. (defun dump-raw-bytes (vec n fasl-output)