projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
0.9.8.7:
[sbcl.git]
/
src
/
code
/
octets.lisp
diff --git
a/src/code/octets.lisp
b/src/code/octets.lisp
index
751a039
..
f743a4b
100644
(file)
--- a/
src/code/octets.lisp
+++ b/
src/code/octets.lisp
@@
-174,7
+174,7
@@
one-past-the-end"
(defmacro define-unibyte-mapper (byte-char-name code-byte-name &rest exceptions)
`(progn
(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))
(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))
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))
(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
(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*
(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))
(extern-alien
"nl_langinfo"
(function c-string int))