Changeset 11609


Ignore:
Timestamp:
01/31/09 16:39:48 (13 years ago)
Author:
ehuelsmann
Message:

Don't enumerate representation conversion inline: we have a generic routine for it now.

File:
1 edited

Legend:

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

    r11608 r11609  
    27232723(defun emit-ifne-for-eql (representation instruction-type)
    27242724  (emit-invokevirtual +lisp-object-class+ "eql" instruction-type "Z")
    2725   (case representation
    2726     (:boolean)
    2727     (t
    2728      (let ((label1 (gensym))
    2729      (label2 (gensym)))
    2730        (emit 'ifne label1)
    2731        (emit-push-nil)
    2732        (emit 'goto label2)
    2733        (label label1)
    2734        (emit-push-t)
    2735        (label label2)))))
     2725  (convert-representation :boolean representation))
    27362726
    27372727(defknown p2-eql (t t t) t)
     
    32833273                                    "Z")
    32843274                ;; Java boolean on stack here
    3285                 (case representation
    3286                   (:boolean)
    3287                   (t
    3288                    (let ((LABEL1 (gensym))
    3289                          (LABEL2 (gensym)))
    3290                      (emit 'ifeq LABEL1)
    3291                      (emit-push-t)
    3292                      (emit 'goto LABEL2)
    3293                      (label LABEL1)
    3294                      (emit-push-nil)
    3295                      (label LABEL2))))
     3275                (convert-representation :boolean representation)
    32963276                (emit-move-from-stack target representation)
    32973277                (return-from p2-numeric-comparison)))))
     
    46804660     (compile-forms-and-maybe-emit-clear-values arg 'stack nil)
    46814661           (emit 'instanceof java-class)
    4682            (case representation
    4683              (:boolean)
    4684              (t
    4685               (let ((LABEL1 (gensym))
    4686                     (LABEL2 (gensym)))
    4687                 (emit 'ifeq LABEL1)
    4688                 (emit-push-t)
    4689                 (emit 'goto LABEL2)
    4690                 (label LABEL1)
    4691                 (emit-push-nil)
    4692                 (label LABEL2)
    4693                 (emit-move-from-stack target representation))))))))
     4662           (convert-representation :boolean representation)
     4663           (emit-move-from-stack target representation)))))
    46944664
    46954665(defun p2-bit-vector-p (form target representation)
     
    54205390                 arg2 'stack :long)
    54215391                (emit 'land)
    5422                 (case representation
    5423                   (:int
    5424                    (emit 'l2i))
    5425                   (:long)
    5426                   (t
    5427                    (convert-representation :long nil)))
     5392                (convert-representation :long representation)
    54285393                (emit-move-from-stack target representation))
    54295394               ((or (and (java-long-type-p type1)
     
    54355400                 arg2 'stack :long)
    54365401                (emit 'land)
    5437                 (case representation
    5438                   (:int
    5439                    (emit 'l2i))
    5440                   (:long)
    5441                   (t
    5442                    (convert-representation :long nil)))
     5402                (convert-representation :long representation)
    54435403                (emit-move-from-stack target representation))
    54445404               ((fixnum-type-p type2)
Note: See TracChangeset for help on using the changeset viewer.