1.0.12.39: Fix minor bug in new LOAD
[sbcl.git] / src / compiler / policies.lisp
index 4680f71..f5c417d 100644 (file)
 (in-package "SB!C")
 
 (define-optimization-quality type-check
+    ;; FIXME: grepping the tree for "policy.*safety" yields some
+    ;; places which might want to use this instead -- or
+    ;; some other derived policy.
     (cond ((= safety 0) 0)
-          ;; FIXME: It is duplicated in PROBABLE-TYPE-CHECK-P and in
-          ;; some other places.
+          ((and (< safety 2) (< safety speed)) 2)
+          (t 3))
+  ("no" "maybe" "weak" "full"))
 
-          ((and (<= speed safety)
-                (<= space safety)
-                (<= compilation-speed safety))
-           3)
-          (t 2))
-  ("no" "maybe" "fast" "full"))
+(define-optimization-quality check-tag-existence
+    (cond ((= safety 0) 0)
+          (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"))
 
 
 (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"))
+
+(define-optimization-quality store-coverage-data
+    0
+  ("no" "no" "yes" "yes"))