Ignore:
Timestamp:
05/03/09 19:27:26 (14 years ago)
Author:
vvoutilainen
Message:

Get rid of Primitive[012]R, we don't truly need it. Also
increment fasl-version, because this removes three classes
and thus fasls become incompatible.

File:
1 edited

Legend:

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

    r11823 r11824  
    18251825          ((equal super +lisp-primitive-class+)
    18261826           (emit-constructor-lambda-name lambda-name)
    1827            (emit-constructor-lambda-list args)
    1828            (emit-invokespecial-init super (lisp-object-arg-types 2)))
    1829           ((equal super "org/armedbear/lisp/Primitive0R")
    1830            (emit-constructor-lambda-name lambda-name)
    1831            (push '&REST args)
    1832            (emit-constructor-lambda-list args)
    1833            (emit-invokespecial-init super (lisp-object-arg-types 2)))
    1834           ((equal super "org/armedbear/lisp/Primitive1R")
    1835            (emit-constructor-lambda-name lambda-name)
    1836            (setf args (list (first args) '&REST (second args)))
    1837            (emit-constructor-lambda-list args)
    1838            (emit-invokespecial-init super (lisp-object-arg-types 2)))
    1839           ((equal super "org/armedbear/lisp/Primitive2R")
    1840            (emit-constructor-lambda-name lambda-name)
    1841            (setf args (list (first args) (second args) '&REST (third args)))
    18421827           (emit-constructor-lambda-list args)
    18431828           (emit-invokespecial-init super (lisp-object-arg-types 2)))
     
    81848169         (label-EXIT (gensym)))
    81858170
    8186     (unless *child-p*
    8187       (when (memq '&REST args)
    8188         (unless (or (memq '&OPTIONAL args) (memq '&KEY args))
    8189           (let ((arg-count (length args)))
    8190       (when
    8191     (cond ((and (= arg-count 2) (eq (%car args) '&REST))
    8192            (setf descriptor (get-descriptor
    8193            (lisp-object-arg-types 1)
    8194            +lisp-object+)
    8195            super "org/armedbear/lisp/Primitive0R"
    8196            args (cdr args)))
    8197           ((and (= arg-count 3) (eq (%cadr args) '&REST))
    8198            (setf descriptor (get-descriptor
    8199            (lisp-object-arg-types 2)
    8200            +lisp-object+)
    8201            super "org/armedbear/lisp/Primitive1R"
    8202            args (list (first args) (third args))))
    8203           ((and (= arg-count 4) (eq (%caddr args) '&REST))
    8204            (setf descriptor (get-descriptor
    8205            (list +lisp-object+
    8206                  +lisp-object+ +lisp-object+)
    8207            +lisp-object+)
    8208            super "org/armedbear/lisp/Primitive2R"
    8209            args (list (first args)
    8210           (second args) (fourth args)))))
    8211         (setf *using-arg-array* nil
    8212         *hairy-arglist-p* nil
    8213         (compiland-kind compiland) :internal
    8214         execute-method-name "_execute"
    8215         execute-method (make-method
    8216             :name execute-method-name
    8217             :descriptor descriptor)))))))
    8218 
    82198171    (dolist (var (compiland-arg-vars compiland))
    82208172      (push var *visible-variables*))
Note: See TracChangeset for help on using the changeset viewer.