Changeset 11885
- Timestamp:
- 05/16/09 19:03:21 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abcl/src/org/armedbear/lisp/compiler-pass2.lisp
r11883 r11885 1763 1763 descriptor-index) 1764 1764 1765 (defstruct (java-method (:conc-name method-) (:constructor make-method))1765 (defstruct (java-method (:conc-name method-) (:constructor %make-method)) 1766 1766 access-flags 1767 1767 name … … 1774 1774 handlers) 1775 1775 1776 (defun make-method (&rest args &key descriptor name 1777 descriptor-index name-index 1778 &allow-other-keys) 1779 (apply #'%make-method 1780 (list* :descriptor-index (or descriptor-index (pool-name descriptor)) 1781 :name-index (or name-index (pool-name name)) 1782 args))) 1783 1776 1784 (defun emit-constructor-lambda-name (lambda-name) 1777 1785 (cond ((and lambda-name (symbolp lambda-name) (symbol-package (truly-the symbol lambda-name))) … … 1801 1809 (*code* ()) 1802 1810 (*handlers* nil)) 1803 (setf (method-name-index constructor) (pool-name (method-name constructor)))1804 (setf (method-descriptor-index constructor) (pool-name (method-descriptor constructor)))1805 1811 (setf (method-max-locals constructor) 1) 1806 1812 (aload 0) ;; this … … 8009 8015 (*thread* nil) 8010 8016 (*initialize-thread-var* nil) 8011 (super nil)8012 8017 (label-START (gensym))) 8013 8018 … … 8016 8021 (dolist (var (compiland-free-specials compiland)) 8017 8022 (push var *visible-variables*)) 8018 8019 (setf (method-name-index execute-method)8020 (pool-name (method-name execute-method)))8021 (setf (method-descriptor-index execute-method)8022 (pool-name (method-descriptor execute-method)))8023 8023 8024 8024 (when *using-arg-array* … … 8041 8041 (when *closure-variables* 8042 8042 (setf (compiland-closure-register compiland) (allocate-register)) 8043 8044 8043 (dformat t "p2-compiland 2 closure register = ~S~%" 8044 (compiland-closure-register compiland))) 8045 8045 8046 8046 (when *closure-variables* … … 8199 8199 ;; Remove handler if its protected range is empty. 8200 8200 (setf *handlers* 8201 (delete-if (lambda (handler) (eql (symbol-value (handler-from handler)) 8202 (symbol-value (handler-to handler)))) 8201 (delete-if (lambda (handler) 8202 (eql (symbol-value (handler-from handler)) 8203 (symbol-value (handler-to handler)))) 8203 8204 *handlers*)) 8204 8205 … … 8207 8208 8208 8209 (setf (class-file-superclass class-file) 8209 (cond (super 8210 super) 8211 (*child-p* 8212 (if *closure-variables* 8213 (progn 8214 (setf (method-name-index execute-method) 8215 (pool-name (method-name execute-method))) 8216 (setf (method-descriptor-index execute-method) 8217 (pool-name (method-descriptor execute-method))) 8218 +lisp-compiled-closure-class+) 8219 (if *hairy-arglist-p* 8220 +lisp-compiled-function-class+ 8221 +lisp-primitive-class+))) 8222 (*hairy-arglist-p* 8223 +lisp-compiled-function-class+) 8224 (t 8225 +lisp-primitive-class+))) 8210 (cond 8211 ((and *child-p* *closure-variables*) +lisp-compiled-closure-class+) 8212 (*hairy-arglist-p* +lisp-compiled-function-class+) 8213 (t +lisp-primitive-class+))) 8226 8214 8227 8215 (setf (class-file-lambda-list class-file) args)
Note: See TracChangeset
for help on using the changeset viewer.