Ignore:
Timestamp:
05/18/09 21:21:02 (14 years ago)
Author:
ehuelsmann
Message:

Revert r11892 and r11896 because they keep causing breakage
in different places.

We need general infrastructure for this problem. To come.

File:
1 edited

Legend:

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

    r11896 r11898  
    21982198
    21992199The field type of the object is specified by OBJ-REF."
    2200   (let ((field-name (gethash1 (list obj obj-ref) *declared-objects*)))
    2201     (if field-name
    2202         field-name
    2203       (let ((key (symbol-name (gensym "OBJ"))))
    2204         (remember key obj)
    2205         (let* ((g1 (declare-string key))
    2206                (g2 (symbol-name (gensym "O2BJ")))
    2207                (*code* *static-code*))
    2208           (declare-field g2 obj-ref)
    2209           (emit 'getstatic *this-class* g1 +lisp-simple-string+)
    2210           (emit-invokestatic +lisp-class+ "recall"
    2211                              (list +lisp-simple-string+) +lisp-object+)
    2212           (when (and obj-class (string/= obj-class +lisp-object-class+))
    2213             (emit 'checkcast obj-class))
    2214           (emit 'putstatic *this-class* g2 obj-ref)
    2215           (setf *static-code* *code*)
    2216           (setf (gethash (list obj obj-ref) *declared-objects*) g2))))))
     2200  (let ((key (symbol-name (gensym "OBJ"))))
     2201    (remember key obj)
     2202    (let* ((g1 (declare-string key))
     2203           (g2 (symbol-name (gensym "O2BJ"))))
     2204      (let* ((*code* *static-code*))
     2205      (declare-field g2 obj-ref)
     2206      (emit 'getstatic *this-class* g1 +lisp-simple-string+)
     2207      (emit-invokestatic +lisp-class+ "recall"
     2208                         (list +lisp-simple-string+) +lisp-object+)
     2209      (when (and obj-class (string/= obj-class +lisp-object-class+))
     2210        (emit 'checkcast obj-class))
     2211      (emit 'putstatic *this-class* g2 obj-ref)
     2212      (setf *static-code* *code*)
     2213      g2))))
    22172214
    22182215(defun declare-lambda (obj)
Note: See TracChangeset for help on using the changeset viewer.