Changeset 15336


Ignore:
Timestamp:
Apr 19, 2012, 11:14:58 PM (8 years ago)
Author:
gb
Message:

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 ...)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/compiler/nx0.lisp

    r15314 r15336  
    18071807      (let* ((*nx-sfname* sym) special)
    18081808        (if (and (setq special (gethash sym *nx1-alphatizers*))
    1809                  (or (not (functionp (fboundp sym)))
    1810                      (memq sym '(apply funcall ;; see bug #285
    1811                                  %defun        ;; see bug #295
    1812                                  ))
    1813                      (< (safety-optimize-quantity env) 3))
    1814                  ;;(not (nx-lexical-finfo sym env))
    1815                  (not (nx-declared-notinline-p sym *nx-lexical-environment*)))
     1809                 (not (nx-lexical-finfo sym env))
     1810                 (or (special-operator-p sym)
     1811                     (not (nx-declared-notinline-p sym env))))
    18161812          (funcall special context form env) ; pass environment arg ...
    18171813          (progn           
Note: See TracChangeset for help on using the changeset viewer.