Ignore:
Timestamp:
Oct 14, 2008, 6:30:00 PM (13 years ago)
Author:
gz
Message:

Merge/bootstrap assorted low level stuff from trunk - kernel, syscall stuff, lowmem-bias, formatting tweaks, a few bug fixes included

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/working-0711/ccl/compiler/nx.lisp

    r8926 r11089  
    129129      xlfun)))
    130130
     131(defun compile-user-function (def name &optional env)
     132  (multiple-value-bind (lfun warnings)
     133      (compile-named-function def
     134                              :name name
     135                              :env env
     136                              :keep-lambda *save-definitions*
     137                              :keep-symbols *save-local-symbols*)
     138    (signal-or-defer-warnings warnings env)
     139    lfun))
     140
    131141(defun signal-or-defer-warnings (warnings env)
    132142  (let* ((defenv (definition-environment env))
     
    189199(defparameter *nx-discard-xref-info-hook* nil)
    190200
    191 (defun compile-named-function (definition &key name env function-note keep-lambda keep-symbols policy load-time-eval-token target source-notes)
     201(defun compile-named-function (def &key name env function-note keep-lambda keep-symbols policy load-time-eval-token target source-notes)
    192202  (when (and name *nx-discard-xref-info-hook*)
    193203    (funcall *nx-discard-xref-info-hook* name))
    194204  (setq
    195    definition
     205   def
    196206   (let* ((*load-time-eval-token* load-time-eval-token)
    197207          (*nx-source-note-map* source-notes)
     
    199209          (*nx-current-code-note* (and source-notes
    200210                                       *compile-code-coverage*
    201                                        (nx-ensure-code-note definition nil function-note)))
     211                                       (nx-ensure-code-note def nil function-note)))
    202212          (*definition-source-note* (and *fasl-save-source-locations*
    203213                                         (or function-note
    204                                              (and *form-source-note-map* (gethash definition *form-source-note-map*)))))
     214                                             (and *form-source-note-map* (gethash def *form-source-note-map*)))))
    205215          (env (new-lexical-environment env)))
    206216     (setf (lexenv.variables env) 'barrier)
     
    208218              (afunc (nx1-compile-lambda
    209219                      name
    210                       definition
     220                      def
    211221                      (make-afunc)
    212222                      nil
     
    219229                      afunc
    220230                      ;; will also bind *nx-lexical-environment*
    221                       (if keep-lambda (if (lambda-expression-p keep-lambda) keep-lambda definition))
     231                      (if keep-lambda (if (lambda-expression-p keep-lambda) keep-lambda def))
    222232                      keep-symbols)))))
    223   (values (afunc-lfun definition) (afunc-warnings definition)))
     233  (values (afunc-lfun def) (afunc-warnings def)))
    224234 
    225 (defun compile-user-function (def name &optional env)
    226   (multiple-value-bind (lfun warnings)
    227       (compile-named-function def
    228                               :name name
    229                               :env env
    230                               :keep-lambda *save-definitions*
    231                               :keep-symbols *save-local-symbols*)
    232     (signal-or-defer-warnings warnings env)
    233     lfun))
    234 
    235235(defparameter *compiler-whining-conditions*
    236236  '((:undefined-function . undefined-function-reference)
     
    240240    (:ignore . style-warning)
    241241    (:result-ignored . style-warning)
     242    (:lambda . style-warning)
    242243    (:unused . style-warning)))
    243244
     
    253254(provide 'nx)
    254255
    255 
Note: See TracChangeset for help on using the changeset viewer.