Changeset 14417


Ignore:
Timestamp:
Nov 7, 2010, 9:00:06 PM (9 years ago)
Author:
gb
Message:

No more *NX-NIL*, *NX-T*.

Location:
trunk/source/compiler
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/compiler/ARM/arm2.lisp

    r14355 r14417  
    74397439                         j
    74407440                         (if *arm2-reckless*
    7441                            *nx-nil*
     7441                           (make-nx-nil)
    74427442                           (nx-lookup-target-uvector-subtag keyword ))
    74437443                         keyword        ;(make-acode (%nx1-operator immediate) )
     
    74947494                         k
    74957495                         (if *arm2-reckless*
    7496                            *nx-nil*
     7496                           (make-nx-nil)
    74977497                           (nx-lookup-target-uvector-subtag keyword ))
    74987498                         keyword ;(make-acode (%nx1-operator immediate) )
  • trunk/source/compiler/PPC/ppc2.lisp

    r14357 r14417  
    76347634(defppc2 ppc2-fixnum-overflow fixnum-overflow (seg vreg xfer form)
    76357635  (destructuring-bind (op n0 n1) (acode-unwrapped-form form)
    7636     (ppc2-use-operator op seg vreg xfer n0 n1 *nx-t*)))
     7636    (ppc2-use-operator op seg vreg xfer n0 n1 (make-nx-t))))
    76377637
    76387638
     
    76787678                         j
    76797679                         (if *ppc2-reckless*
    7680                            *nx-nil*
     7680                           (make-nx-nil)
    76817681                           (nx-lookup-target-uvector-subtag keyword ))
    76827682                         keyword        ;(make-acode (%nx1-operator immediate) )
     
    77337733                         k
    77347734                         (if *ppc2-reckless*
    7735                            *nx-nil*
     7735                           (make-nx-nil)
    77367736                           (nx-lookup-target-uvector-subtag keyword ))
    77377737                         keyword ;(make-acode (%nx1-operator immediate) )
  • trunk/source/compiler/X86/x862.lisp

    r14406 r14417  
    86998699(defx862 x862-fixnum-overflow fixnum-overflow (seg vreg xfer form)
    87008700  (destructuring-bind (op n0 n1) (acode-unwrapped-form form)
    8701     (x862-use-operator op seg vreg xfer n0 n1 *nx-t*)))
     8701    (x862-use-operator op seg vreg xfer n0 n1 (make-nx-t))))
    87028702
    87038703(defx862 x862-%aref2 simple-typed-aref2 (seg vreg xfer typename arr i j &optional dim0 dim1)
  • trunk/source/compiler/nx-basic.lisp

    r14369 r14417  
    838838
    839839(defun decomp-form (acode)
    840   (cond ((eq acode *nx-t*) t)
    841         ((eq acode *nx-nil*) nil)
     840  (cond ((nx-null acode) t)
     841        ((nx-t acode) nil)
    842842        (t (let* ((op (car acode))
    843843                  (num (length *next-nx-operators*))
     
    888888          (opts (when opt (cons '&optional (apply #'mapcar
    889889                                                  (lambda (var init supp)
    890                                                     (if (and (not supp) (eq init *nx-nil*))
     890                                                    (if (and (not supp) (nx-null init))
    891891                                                      (decomp-arg var)
    892892                                                      (list* (decomp-arg var)
     
    904904                                                              sym
    905905                                                              (list key sym))))
    906                                                   (if (and (not supp) (eq init *nx-nil*) (eq arg sym))
     906                                                  (if (and (not supp) (nx-null init) (eq arg sym))
    907907                                                    sym
    908908                                                    (list* arg
     
    914914                   (cons '&aux (apply #'mapcar
    915915                                      (lambda (var init)
    916                                         (if (eq init *nx-nil*)
     916                                        (if (nx-null init)
    917917                                          (decomp-arg var)
    918918                                          (list (decomp-arg var) (decomp-form init))))
  • trunk/source/compiler/nx0.lisp

    r14406 r14417  
    6666
    6767(defvar *nx-lambdalist* (make-symbol "lambdalist"))
    68 (defvar *nx-nil* (make-acode (%nx1-operator nil)))
    69 (defvar *nx-t* (make-acode (%nx1-operator t)))
     68
     69(defmacro make-nx-nil () `(make-acode ,(%nx1-operator nil)))
     70(defmacro make-nx-t () `(make-acode `(%nx1-operator t)))
    7071
    7172(defun %nx-null (x)
    72   (or (eq x *nx-nil*)
    73       (if (acode-p x)
    74         (eql (acode-operator x)
    75              (%nx1-operator nil)))))
     73  (let* ((x (acode-unwrapped-form x)))
     74    (if (acode-p x)
     75      (eql (acode-operator x)
     76           (%nx1-operator nil)))))
    7677
    7778(defun %nx-t (x)
    78   (or (eq x *nx-t*)
    79       (if (acode-p x)
    80         (eql (acode-operator x)
    81              (%nx1-operator t)))))
     79  (let* ((x (acode-unwrapped-form x)))
     80        (if (acode-p x)
     81          (eql (acode-operator x)
     82               (%nx1-operator t)))))
    8283
    8384(defparameter *nx-current-compiler-policy* (%default-compiler-policy))
     
    449450          (if (nx-null form)
    450451            'null
    451             (if (eq form *nx-t*)
     452            (if (nx-t form)
    452453              'boolean
    453454              (nx-target-type
     
    15871588        (until (eq keytail auxtail)
    15881589          (unless (eq (setq sym (pop keytail)) '&allow-other-keys)     
    1589             (setq kinit *nx-nil* ksupp nil)
     1590            (setq kinit (make-nx-nil) ksupp nil)
    15901591            (if (atom sym)
    15911592              (setq kvar sym kkey (make-keyword sym))
     
    16831684        (until (eq keytail auxtail)
    16841685          (unless (eq (setq sym (pop keytail)) '&allow-other-keys)     
    1685             (setq kinit *nx-nil* ksupp nil)
     1686            (setq kinit (make-nx-nil) ksupp nil)
    16861687            (if (atom sym)
    16871688              (setq kvar sym kkey (make-keyword sym))
     
    17811782
    17821783(defun nx1-immediate (form)
    1783   #+notyet
    17841784  (cond ((eq form t) (make-acode (%nx1-operator t)))
    17851785        ((null form) (make-acode (%nx1-operator nil)))
    17861786        ((nx1-target-fixnump form)
    17871787         (make-acode (%nx1-operator fixnum) form))
    1788         (t (make-acode (%nx1-operator immediate) form)))
    1789   #-notyet
    1790   (if (or (eq form t) (null form))
    1791     (nx1-sysnode form)
    1792     (make-acode
    1793      (if (nx1-target-fixnump form)
    1794        (%nx1-operator fixnum)
    1795        (%nx1-operator immediate))   ; Screw: chars
    1796      form)))
     1788        (t (make-acode (%nx1-operator immediate) form))))
    17971789
    17981790(defun nx2-constant-form-value (form)
  • trunk/source/compiler/nx1.lisp

    r14375 r14417  
    14221422           (%nx1-operator let*)
    14231423           (list catchvar indexvar)
    1424            (list (make-acode (%nx1-operator cons) *nx-nil* *nx-nil*) *nx-nil*)
     1424           (list (make-acode (%nx1-operator cons) (make-nx-nil) (make-nx-nil)) (make-nx-nil))
    14251425           (make-acode
    14261426            (%nx1-operator local-tagbody)
     
    14411441                 body)))
    14421442              (make-acode (%nx1-operator local-go) looplabel)
    1443               *nx-nil*)))
     1443              (make-nx-nil))))
    14441444           0))))))
    14451445
     
    20122012                  (progn
    20132013                    (push (%car optvars) vars) (push (%car arglist) vals)
    2014                     (when (%car spvars) (push (%car spvars) vars) (push *nx-t* vals)))
     2014                    (when (%car spvars) (push (%car spvars) vars) (push (make-nx-t) vals)))
    20152015                  (progn
    20162016                    (push (%car optvars) vars*) (push (%car inits) vals*)
    2017                     (when (%car spvars) (push (%car spvars) vars*) (push *nx-nil* vals*))))
     2017                    (when (%car spvars) (push (%car spvars) vars*) (push (make-nx-nil) vals*))))
    20182018                (setq optvars (%cdr optvars) spvars (%cdr spvars) inits (%cdr inits)
    20192019                      arglist (%cdr arglist))))
     
    20222022                (nx-error "Extra args ~s for (LAMBDA ~s ...)" args lambda-list))
    20232023              (when rest
    2024                 (push rest vars*) (push *nx-nil* vals*)
    2025                 (nx1-punt-bindings (cons rest nil) (cons *nx-nil* nil))
     2024                (push rest vars*) (push (make-nx-nil) vals*)
     2025                (nx1-punt-bindings (cons rest nil) (cons (make-nx-nil) nil))
    20262026                (setq rest nil)))
    20272027            (when keys
     
    20502050                          (when (%car spvars)
    20512051                            (push (%car spvars) vars*)
    2052                             (push (if (%svref keyargs i) *nx-t* *nx-nil*) vals*))
     2052                            (push (if (%svref keyargs i) (make-nx-t) (make-nx-nil)) vals*))
    20532053                          (setq keyvars (%cdr keyvars) inits (%cdr inits) spvars (%cdr spvars)))
    20542054                        (setq keys hit))
  • trunk/source/compiler/nxenv.lisp

    r14406 r14417  
    506506          nx-adjust-setq-count
    507507          nx-init-var
    508           nx1-sysnode
    509508          ))
    510509
     
    558557
    559558
    560 (defun nx1-sysnode (form)
    561   (if form
    562     (if (eq form t)
    563       *nx-t*)
    564     *nx-nil*))
     559
    565560)
    566561
Note: See TracChangeset for help on using the changeset viewer.