X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fpolicies.lisp;h=19e3b0300c9c1485a529a381f3435e3fffbd5d09;hb=2dbf6e6a5011edecc5361c208e9d5915ca783351;hp=2264f6de743356280960312868c9eb7d01a300ef;hpb=bea5b384106a6734a4b280a76e8ebdd4d51b5323;p=sbcl.git diff --git a/src/compiler/policies.lisp b/src/compiler/policies.lisp index 2264f6d..19e3b03 100644 --- a/src/compiler/policies.lisp +++ b/src/compiler/policies.lisp @@ -27,7 +27,7 @@ (t 3)) ("no" "maybe" "yes" "yes")) -(define-optimization-quality let-convertion +(define-optimization-quality let-conversion (if (<= debug speed) 3 0) ("off" "maybe" "on" "on")) @@ -56,17 +56,44 @@ (define-optimization-quality stack-allocate-dynamic-extent (if (and (> (max speed space) (max debug safety)) - (< safety 3)) - 3 - 0) + (< safety 3)) + 3 + 0) ("no" "maybe" "yes" "yes")) +(define-optimization-quality stack-allocate-vector + (cond ((= stack-allocate-dynamic-extent 0) 0) + ((= safety 0) 3) + (t 2)) + ("no" "maybe" "one page" "yes")) + (define-optimization-quality float-accuracy 3 ("degraded" "full" "full" "full")) (define-optimization-quality insert-step-conditions - (if (> debug (max speed space)) + (if (> debug (max speed space compilation-speed)) debug 0) ("no" "no" "partial" "full")) + +(define-optimization-quality compute-debug-fun + debug + ("no" "minimal" "yes" "yes")) + +(define-optimization-quality preserve-single-use-debug-variables + (if (and (>= debug 2) + (< speed 3)) + 3 + 0) + ("no" "no" "no" "yes")) + +(define-optimization-quality insert-array-bounds-checks + (if (= safety 0) 0 3) + ("no" "yes" "yes" "yes")) + +(define-optimization-quality store-xref-data + (if (= space 3) + 0 + 3) + ("no" "yes" "yes" "yes"))