From 35dd4e2ea8f99f0716a3bfb5ccfec4c6ad520ac5 Mon Sep 17 00:00:00 2001 From: Alexey Dejneka Date: Wed, 29 Jan 2003 11:39:49 +0000 Subject: [PATCH] 0.7.12.10: * 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 | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 src/compiler/policies.lisp diff --git a/src/compiler/policies.lisp b/src/compiler/policies.lisp new file mode 100644 index 0000000..57ffbdd --- /dev/null +++ b/src/compiler/policies.lisp @@ -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")) -- 1.7.10.4