Changeset 11502


Ignore:
Timestamp:
12/28/08 23:09:49 (12 years ago)
Author:
ehuelsmann
Message:

Introduce mnemonic for (emit 'getstatic ....) to load a symbol naming the variable.

File:
1 edited

Legend:

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

    r11501 r11502  
    468468        (emit-push-constant-int (variable-index variable))
    469469        (emit 'aaload))))
     470
     471(defun emit-push-variable-name (variable)
     472  (emit 'getstatic *this-class* (declare-symbol (variable-name variable))
     473        +lisp-symbol+))
    470474
    471475(defknown generate-instanceof-type-check-for-variable (t t) t)
     
    38003804         (emit-push-current-thread)
    38013805         (emit 'swap)
    3802          (emit 'getstatic *this-class*
    3803                (declare-symbol (variable-name variable)) +lisp-symbol+)
     3806         (emit-push-variable-name variable)
    38043807         (emit 'swap)
    38053808         (emit-invokevirtual +lisp-thread-class+ "bindSpecial"
     
    40884091                 ;; The special case of binding a special to its current value.
    40894092                 (emit-push-current-thread)
    4090                  (emit 'getstatic *this-class*
    4091                        (declare-symbol (variable-name variable)) +lisp-symbol+)
     4093                 (emit-push-variable-name variable)
    40924094                 (emit-invokevirtual +lisp-thread-class+
    40934095                                     "bindSpecialToCurrentValue"
     
    86728674        (cond ((variable-register variable)
    86738675               (emit-push-current-thread)
    8674                (emit 'getstatic *this-class*
    8675                      (declare-symbol (variable-name variable))
    8676                      +lisp-symbol+)
     8676               (emit-push-variable-name variable)
    86778677               (emit 'aload (variable-register variable))
    86788678               (emit-invokevirtual +lisp-thread-class+ "bindSpecial"
     
    86818681              ((variable-index variable)
    86828682               (emit-push-current-thread)
    8683                (emit 'getstatic *this-class*
    8684                      (declare-symbol (variable-name variable)) +lisp-symbol+)
     8683               (emit-push-variable-name variable)
    86858684               (emit 'aload (compiland-argument-register compiland))
    86868685               (emit-push-constant-int (variable-index variable))
Note: See TracChangeset for help on using the changeset viewer.