0.9.8.7:
[sbcl.git] / src / code / octets.lisp
index 751a039..f743a4b 100644 (file)
@@ -174,7 +174,7 @@ one-past-the-end"
 
 (defmacro define-unibyte-mapper (byte-char-name code-byte-name &rest exceptions)
   `(progn
-    (declaim (inline ,byte-char-name ,code-byte-name))
+    (declaim (inline ,byte-char-name))
     (defun ,byte-char-name (byte)
       (declare (optimize speed (safety 0))
                (type (unsigned-byte 8) byte))
@@ -186,9 +186,16 @@ one-past-the-end"
                                                         exception
                                                         byte))))
             byte))
+    ;; This used to be inlined, but it caused huge slowdowns in SBCL builds,
+    ;; bloated the core by about 700k on x86-64. Removing the inlining
+    ;; didn't seem to have any performance effect. -- JES, 2005-10-15
     (defun ,code-byte-name (code)
       (declare (optimize speed (safety 0))
                (type char-code code))
+      ;; FIXME: I'm not convinced doing this with CASE is a good idea as
+      ;; long as it's just macroexpanded into a stupid COND. Consider
+      ;; for example the output of (DISASSEMBLE 'SB-IMPL::CODE->CP1250-MAPPER)
+      ;; -- JES, 2005-10-15
       (case code
         ,@(mapcar (lambda (exception)
                     (destructuring-bind (byte code) exception
@@ -633,7 +640,7 @@ one-past-the-end"
 
 (defun default-external-format ()
   (or *default-external-format*
-      (let ((external-format (intern (or (sb!alien:alien-funcall
+      (let ((external-format (intern (or #!-win32 (sb!alien:alien-funcall
                                           (extern-alien
                                            "nl_langinfo"
                                            (function c-string int))