Changeset 8997


Ignore:
Timestamp:
Apr 4, 2008, 2:07:55 AM (11 years ago)
Author:
gb
Message:

Record function info (encoded arglist) for DEFSTUCT copiers, accessors.

Location:
trunk/source/lib
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/lib/defstruct-lds.lisp

    r2325 r8997  
    361361  `(progn
    362362     (eval-when (:compile-toplevel)
    363        (note-function-info ',copier nil ,env))
     363       (record-function-info ',copier (list (list (encode-lambda-list '(x)))) ,env))
    364364     (fset ',copier
    365            ,(if (eq (sd-type sd) 'list) '#'copy-list '#'copy-uvector))))
    366 ; (put 'COPY-SHIP 'nx-alias 'copy-list)
     365           ,(if (eq (sd-type sd) 'list) '#'copy-list '#'copy-uvector))
     366     (record-source-file ',copier 'function)))
     367;;; (put 'COPY-SHIP 'nx-alias 'copy-list)
    367368
    368369(defun defstruct-predicate (sd named predicate &aux (arg (gensym)))
  • trunk/source/lib/defstruct.lisp

    r5434 r8997  
    214214          (push name defs))))
    215215    (setq defs (nreverse defs))
    216     `(progn
    217        (eval-when (:compile-toplevel)
    218          ,@(mapcar #'(lambda (name) `(note-function-info ',name nil ,env)) defs))
    219        (declaim (inline ,@defs)))))
     216    (let* ((info (list (cons (dpb 1 $lfbits-numreq 0) nil))))
     217      `(progn
     218        (eval-when (:compile-toplevel)
     219          ,@(mapcar #'(lambda (name) `(record-function-info ',name ',info ,env)) defs))
     220        (declaim (inline ,@defs))))))
    220221
    221222;;;Used by setf and whatever...
Note: See TracChangeset for help on using the changeset viewer.