X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fsort.lisp;h=de92015c3540b245fe52e62f1e3b2114ff6b1857;hb=bcbbce86c47a1c530d488c7876a453100fcd933e;hp=49aa8f096ec5e487deb23127ffca6af120153550;hpb=4df3887d4f74248fb2ce830b86eb07fd30986d8a;p=sbcl.git diff --git a/src/code/sort.lisp b/src/code/sort.lisp index 49aa8f0..de92015 100644 --- a/src/code/sort.lisp +++ b/src/code/sort.lisp @@ -79,7 +79,12 @@ (declare (type index start end)) (declare (type function predicate)) (declare (type (or function null) key)) - (declare (optimize (speed 3) (safety 3) (debug 1) (space 1))) + ;; This used to be (OPTIMIZE (SPEED 3) (SAFETY 3)), but now + ;; (0.7.1.39) that (SAFETY 3) means "absolutely safe (including + ;; expensive things like %DETECT-STACK-EXHAUSTION)" we get closer + ;; to what we want by using (SPEED 2) (SAFETY 2): "pretty fast, + ;; pretty safe, and safety is no more important than speed". + (declare (optimize (speed 2) (safety 2) (debug 1) (space 1))) (if (typep vector 'simple-vector) ;; (VECTOR T) is worth optimizing for, and SIMPLE-VECTOR is ;; what we get from (VECTOR T) inside WITH-ARRAY-DATA.