Changeset 12858


Ignore:
Timestamp:
08/02/10 21:44:02 (12 years ago)
Author:
ehuelsmann
Message:

Finalize CLASS-NAME integration: decommission !CLASS-REF.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/generic-class-file/abcl/src/org/armedbear/lisp/compiler-pass2.lisp

    r12857 r12858  
    109109  (pool-get (list 9
    110110                  (pool-class class-name)
    111                   (pool-name-and-type field-name type-name))))
     111                  (pool-name-and-type field-name
     112                                      (internal-field-ref type-name)))))
    112113
    113114;; (tag class-index name-and-type-index)
     
    211212      (code-add-exception-handler *current-code-attribute*
    212213                                  start end handler type)))
    213 
    214 (defun !class-ref (class-name)
    215   "To be eliminated when all hard-coded strings are
    216 replaced by `class-name' structures"
    217   (if (or (symbolp class-name) (typep class-name 'class-name))
    218       (internal-field-ref class-name)
    219       class-name))
    220214
    221215(defstruct (instruction (:constructor %make-instruction (opcode args)))
     
    505499(defun emit-getstatic (class-name field-name type)
    506500  (let ((index (if (null *current-code-attribute*)
    507                    (pool-field class-name field-name (!class-ref type))
     501                   (pool-field class-name field-name type)
    508502                   (pool-add-field-ref *pool* class-name field-name type))))
    509503    (apply #'%emit 'getstatic (u2 index))))
     
    512506(defun emit-putstatic (class-name field-name type)
    513507  (let ((index (if (null *current-code-attribute*)
    514                    (pool-field class-name field-name (!class-ref type))
     508                   (pool-field class-name field-name type)
    515509                   (pool-add-field-ref *pool* class-name field-name type))))
    516510    (apply #'%emit 'putstatic (u2 index))))
     
    11701164  (let* ((args (instruction-args instruction))
    11711165         (index (pool-field (first args)
    1172                             (second args) (!class-ref (third args)))))
     1166                            (second args) (third args))))
    11731167    (inst (instruction-opcode instruction) (u2 index))))
    11741168
     
    19161910(defknown declare-field (t t t) t)
    19171911(defun declare-field (name descriptor access-flags)
    1918   (let ((field (make-field name (!class-ref descriptor))))
     1912  (let ((field (make-field name (internal-field-ref descriptor))))
    19191913    ;; final static <access-flags>
    19201914    (setf (field-access-flags field)
Note: See TracChangeset for help on using the changeset viewer.