Changeset 9059


Ignore:
Timestamp:
Apr 8, 2008, 5:05:06 AM (11 years ago)
Author:
gb
Message:

Try harder to do function calls as function calls when (OPTIMIZE (SAFETY 3))
is in effect.

File:
1 edited

Legend:

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

    r9052 r9059  
    17861786      (let* ((*nx-sfname* sym) special)
    17871787        (if (and (setq special (gethash sym *nx1-alphatizers*))
     1788                 (or (not (functionp (fboundp sym)))
     1789                     (< (safety-optimize-quantity env) 3))
    17881790                 ;(not (nx-lexical-finfo sym env))
    17891791                 (not (nx-declared-notinline-p sym *nx-lexical-environment*)))
     
    19171919   (arch::builtin-function-name-offset name))
    19181920
    1919 (defun nx1-call-form (global-name afunc arglist spread-p)
     1921(defun nx1-call-form (global-name afunc arglist spread-p  &optional (env *nx-lexical-environment*))
    19201922  (if afunc
    19211923    (make-acode (%nx1-operator lexical-function-call) afunc (nx1-arglist arglist (if spread-p 1 (backend-num-arg-regs *target-backend*))) spread-p)
    1922     (let* ((builtin (unless spread-p (nx1-builtin-function-offset global-name))))
     1924    (let* ((builtin (unless (or spread-p
     1925                                (eql 3 (safety-optimize-quantity env)))
     1926                      (nx1-builtin-function-offset global-name))))
    19231927      (if (and builtin
    19241928               (let* ((bits (lfun-bits (fboundp global-name))))
Note: See TracChangeset for help on using the changeset viewer.