Ignore:
Timestamp:
08/13/11 09:13:53 (10 years ago)
Author:
ehuelsmann
Message:

Remove two structure slots which are read only once, in favor of
passing in the right values to the reading function.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/abcl/src/org/armedbear/lisp/compiler-pass2.lisp

    r13484 r13485  
    938938  (emit-constructor-lambda-list object))
    939939
    940 (defun make-constructor (class)
     940(defun make-constructor (class lambda-name args)
    941941  (let* ((*compiler-debug* nil)
    942942         (method (make-jvm-method :constructor :void nil
     
    944944         ;; We don't normally need to see debugging output for constructors.
    945945         (super (class-file-superclass class))
    946          (lambda-name (abcl-class-file-lambda-name class))
    947          (args (abcl-class-file-lambda-list class))
    948946         req-params-register
    949947         opt-params-register
     
    40374035  (let* ((pathname (funcall *pathnames-generator*))
    40384036         (class-file (make-abcl-class-file
    4039                       :pathname pathname
    4040                       :lambda-list
    4041                       (cadr (compiland-lambda-expression compiland)))))
     4037                      :pathname pathname)))
    40424038    (setf (compiland-class-file compiland) class-file)
    40434039    (with-open-stream (f (or stream
     
    71257121    (class-add-method class-file method)
    71267122
    7127     (setf (abcl-class-file-lambda-list class-file) args)
    71287123    (setf (abcl-class-file-superclass class-file)
    71297124          (if (or *hairy-arglist-p*
     
    71327127              +lisp-compiled-primitive+))
    71337128
    7134     (let ((constructor (make-constructor class-file)))
     7129    (let ((constructor
     7130           (make-constructor class-file (compiland-name compiland) args)))
    71357131      (setf (abcl-class-file-constructor class-file) constructor)
    71367132      (class-add-method class-file constructor))
     
    73877383  (aver (eq (car form) 'LAMBDA))
    73887384  (catch 'compile-defun-abort
    7389     (let* ((class-file (make-abcl-class-file :pathname filespec
    7390                                              :lambda-name name
    7391                                              :lambda-list (cadr form)))
     7385    (let* ((class-file (make-abcl-class-file :pathname filespec))
    73927386           (*compiler-error-bailout*
    73937387            `(lambda ()
     
    73967390                                :lambda-expression (make-compiler-error-form ',form)
    73977391                                :class-file
    7398                                 (make-abcl-class-file :pathname ,filespec
    7399                                                       :lambda-name ',name
    7400                                                       :lambda-list (cadr ',form)))
     7392                                (make-abcl-class-file :pathname ,filespec))
    74017393                ,stream)))
    74027394           (*compile-file-environment* environment))
Note: See TracChangeset for help on using the changeset viewer.