[Openmcl-cvs-notifications] r15336 - /trunk/source/compiler/nx0.lisp
gb at clozure.com
gb at clozure.com
Thu Apr 19 18:14:58 CDT 2012
Author: gb
Date: Thu Apr 19 18:14:58 2012
New Revision: 15336
Log:
Run alphatizers at SAFETY 3.
Set ticket:638 et al.
Note that ticket:285 hasn't really depended on "inlining" FUNCALL or
APPLY in order to correctly handle next-method context in some time
(though the generated code is much better if calls to these functions
are inlined.) Ticket:295 describes something that's a bit questionable
anyways (recognizing non-toplevel DEFUNs by processing calls to CCL::%DEFUN=
),
and that (as before) depends on whether or not CCL::%DEFUN is inline.
In any case: I've spent a long time looking for things that're compiled
unsafely with SAFETY 3 in effect and haven't seen any, and it's much more
practical to actually run code at high safety than it has been (so anything
that I missed should show up ...)
Modified:
trunk/source/compiler/nx0.lisp
Modified: trunk/source/compiler/nx0.lisp
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/source/compiler/nx0.lisp (original)
+++ trunk/source/compiler/nx0.lisp Thu Apr 19 18:14:58 2012
@@ -1806,13 +1806,9 @@
(if (symbolp sym)
(let* ((*nx-sfname* sym) special)
(if (and (setq special (gethash sym *nx1-alphatizers*))
- (or (not (functionp (fboundp sym)))
- (memq sym '(apply funcall ;; see bug #285
- %defun ;; see bug #295
- ))
- (< (safety-optimize-quantity env) 3))
- ;;(not (nx-lexical-finfo sym env))
- (not (nx-declared-notinline-p sym *nx-lexical-environment=
*)))
+ (not (nx-lexical-finfo sym env))
+ (or (special-operator-p sym)
+ (not (nx-declared-notinline-p sym env))))
(funcall special context form env) ; pass environment arg ...
(progn =
(nx1-typed-call context sym args))))
More information about the Openmcl-cvs-notifications
mailing list