Changeset 11646


Ignore:
Timestamp:
02/08/09 21:00:27 (13 years ago)
Author:
ehuelsmann
Message:

Fix compilation of Maxima: the wrong representation was returned.

Found by: Ville Voutilainen

File:
1 edited

Legend:

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

    r11642 r11646  
    65936593      (:int
    65946594       (emit-invokevirtual +lisp-object-class+ "length" nil "I"))
    6595       (:long
     6595      ((:long :float :double)
    65966596       (emit-invokevirtual +lisp-object-class+ "length" nil "I")
    6597        (emit 'i2l))
     6597       (convert-representation :int representation))
    65986598      (:boolean
    65996599       ;; FIXME We could optimize this all away in unsafe calls.
     
    71237123                 arg2 'stack :int)
    71247124          (emit-invokevirtual +lisp-object-class+ "aref" '("I") "I"))
    7125          (:long
     7125         ((:long :float :double)
    71267126    (compile-forms-and-maybe-emit-clear-values arg1 'stack nil
    71277127                 arg2 'stack :int)
    7128           (emit-invokevirtual +lisp-object-class+ "aref_long" '("I") "J"))
     7128          (emit-invokevirtual +lisp-object-class+ "aref_long" '("I") "J")
     7129          (when (or (eq representation :float)
     7130                    (eq representation :double))
     7131            (convert-represenation :long representation)))
    71297132         (:char
    71307133          (cond ((compiler-subtypep type1 'string)
Note: See TracChangeset for help on using the changeset viewer.