0.7.12.10:
authorAlexey Dejneka <adejneka@comail.ru>
Wed, 29 Jan 2003 11:39:49 +0000 (11:39 +0000)
committerAlexey Dejneka <adejneka@comail.ru>
Wed, 29 Jan 2003 11:39:49 +0000 (11:39 +0000)
        * Definitions of dependent optimizations qualities are grouped
          in src/compiler/policies.lisp;
        * new dependent optimization policy: MERGE-TAIL-CALLS;
        ... which is used in XEPs.

src/compiler/policies.lisp [new file with mode: 0644]

diff --git a/src/compiler/policies.lisp b/src/compiler/policies.lisp
new file mode 100644 (file)
index 0000000..57ffbdd
--- /dev/null
@@ -0,0 +1,39 @@
+;;;; aimed optimization qualities
+
+;;;; This software is part of the SBCL system. See the README file for
+;;;; more information.
+;;;;
+;;;; This software is derived from the CMU CL system, which was
+;;;; written at Carnegie Mellon University and released into the
+;;;; public domain. The software is in the public domain and is
+;;;; provided with absolutely no warranty. See the COPYING and CREDITS
+;;;; files for more information.
+
+(in-package "SB!C")
+
+(define-optimization-quality type-check
+    (cond ((= safety 0) 0)
+          ;; FIXME: It is duplicated in PROBABLE-TYPE-CHECK-P and in
+          ;; some other places.
+
+          ((and (<= speed safety)
+                (<= space safety)
+                (<= compilation-speed safety))
+           3)
+          (t 2))
+  ("no" "maybe" "fast" "full"))
+
+(define-optimization-quality let-convertion
+    (if (<= debug speed) 3 0)
+  ("off" "maybe" "on" "on"))
+
+(define-optimization-quality verify-arg-count
+    (if (zerop safety) 0 3)
+  ("no" "maybe" "yes" "yes"))
+
+(define-optimization-quality merge-tail-calls
+    (if (or (> space debug)
+            (> speed debug))
+        3
+        0)
+  ("no" "maybe" "yes" "yes"))