Changeset 11600


Ignore:
Timestamp:
01/29/09 20:00:24 (12 years ago)
Author:
ehuelsmann
Message:

Add more opcodes to the list; update stack effect information.

Location:
trunk/abcl/src/org/armedbear/lisp
Files:
2 edited

Legend:

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

    r11594 r11600  
    10411041                 96 ; iadd
    10421042                 97 ; ladd
     1043                 98 ; fadd
     1044                 99 ; dadd
    10431045                 100 ; isub
    10441046                 101 ; lsub
     1047                 102 ; fsub
     1048                 103 ; dsub
    10451049                 104 ; imul
    10461050                 105 ; lmul
    10471051                 116 ; ineg
    10481052                 117 ; lneg
     1053                 118 ; fneg
     1054                 119 ; dneg
    10491055                 120 ; ishl
    10501056                 121 ; lshl
     
    10581064                 131 ; lxor
    10591065                 133 ; i2l
     1066                 134 ; i2f
    10601067                 136 ; l2i
    10611068                 148 ; lcmp
     
    68056812            (type1 (derive-compiler-type arg1))
    68066813            (type2 (derive-compiler-type arg2))
    6807             (result-type (derive-compiler-type form)))
    6808 ;;        (let ((*print-structure* nil))
    6809 ;;          (format t "~&p2-plus arg1 = ~S~%" arg1)
    6810 ;;          (format t "p2-plus arg2 = ~S~%" arg2))
    6811 ;;        (format t "~&p2-plus type1 = ~S~%" type1)
    6812 ;;        (format t "p2-plus type2 = ~S~%" type2)
    6813 ;;        (format t "p2-plus result-type = ~S~%" result-type)
    6814 ;;        (format t "p2-plus representation = ~S~%" representation)
     6814            (result-type (derive-compiler-type form))
     6815            (result-rep (type-representation result-type)))
     6816;;         (let ((*print-structure* nil))
     6817;;           (format t "~&p2-plus arg1 = ~S~%" arg1)
     6818;;           (format t "p2-plus arg2 = ~S~%" arg2))
     6819;;         (format t "~&p2-plus type1 = ~S~%" type1)
     6820;;         (format t "p2-plus type2 = ~S~%" type2)
     6821;;         (format t "p2-plus result-type = ~S~%" result-type)
     6822;;         (format t "p2-plus result-rep = ~S~%" result-rep)
     6823;;         (format t "p2-plus representation = ~S~%" representation)
    68156824       (cond ((and (numberp arg1) (numberp arg2))
    68166825              (compile-constant (+ arg1 arg2) target representation))
     
    68326841                     (compile-form arg1 'stack :int)
    68336842                     (emit 'i2l))
    6834                     (t
     6843                      (t
    68356844                     (compile-form arg1 'stack :long)))
    68366845              (cond ((fixnum-type-p type2)
     
    68996908                 (emit 'l2i))
    69006909                (:long)
    6901                 (t
     6910                      (t
    69026911                 (convert-representation :long nil)))
    69036912              (emit-move-from-stack target representation))
  • trunk/abcl/src/org/armedbear/lisp/opcodes.lisp

    r11589 r11600  
    155155(define-opcode isub 100 1 -1)
    156156(define-opcode lsub 101 1 -2)
    157 (define-opcode fsub 102 1 nil)
    158 (define-opcode dsub 103 1 nil)
     157(define-opcode fsub 102 1 -1)
     158(define-opcode dsub 103 1 -2)
    159159(define-opcode imul 104 1 -1)
    160160(define-opcode lmul 105 1 -2)
     
    171171(define-opcode ineg 116 1 0)
    172172(define-opcode lneg 117 1 0)
    173 (define-opcode fneg 118 1 nil)
    174 (define-opcode dneg 119 1 nil)
     173(define-opcode fneg 118 1 0)
     174(define-opcode dneg 119 1 0)
    175175(define-opcode ishl 120 1 -1)
    176176(define-opcode lshl 121 1 -1)
Note: See TracChangeset for help on using the changeset viewer.