Changeset 12841


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

Fix dual-mode: the new style requires type specifiers, not strings.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/generic-class-file/abcl/src/org/armedbear/lisp/compiler-pass2.lisp

    r12840 r12841  
    463463         (descriptor (car info))
    464464         (stack-effect (cdr info))
    465          (class-name (!class-name class-name))
    466465         (index (if (null *current-code-attribute*)
    467                     (pool-method class-name method-name descriptor)
     466                    (pool-method (!class-name class-name) method-name descriptor)
    468467                    (pool-add-method-ref *pool* class-name
    469                                          method-name descriptor)))
     468                                         method-name (cons return-type arg-types))))
    470469         (instruction (apply #'%emit 'invokestatic (u2 index))))
    471470    (setf (instruction-stack instruction) stack-effect)))
     
    489488         (descriptor (car info))
    490489         (stack-effect (cdr info))
    491          (class-name (!class-name class-name))
    492490         (index (if (null *current-code-attribute*)
    493                     (pool-method class-name method-name descriptor)
     491                    (pool-method (!class-name class-name) method-name descriptor)
    494492                    (pool-add-method-ref *pool* class-name
    495                                          method-name descriptor)))
     493                                         method-name (cons return-type arg-types))))
    496494         (instruction (apply #'%emit 'invokevirtual (u2 index))))
    497495    (declare (type (signed-byte 8) stack-effect))
     
    511509         (descriptor (car info))
    512510         (stack-effect (cdr info))
    513          (class-name (!class-name class-name))
    514511         (index (if (null *current-code-attribute*)
    515                     (pool-method class-name "<init>" descriptor)
     512                    (pool-method (!class-name  class-name) "<init>" descriptor)
    516513                    (pool-add-method-ref *pool* class-name
    517                                          "<init>" descriptor)))
     514                                         "<init>" (cons nil arg-types))))
    518515         (instruction (apply #'%emit 'invokespecial (u2 index))))
    519516    (declare (type (signed-byte 8) stack-effect))
Note: See TracChangeset for help on using the changeset viewer.