Changeset 13464


Ignore:
Timestamp:
08/11/11 19:44:30 (12 years ago)
Author:
ehuelsmann
Message:

On second thought: revert r13463, it's not about value assignment,
but about binding establishment (ie assigning a new value to the
closure array's slots).

File:
1 edited

Legend:

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

    r13463 r13464  
    21632163         (register (allocate-register nil)))
    21642164    (aload (compiland-closure-register compiland))        ;; src
    2165     (when (some #'(lambda (var)
    2166                     (< 1 (variable-writes var)))
    2167                 *closure-variables*)
    2168       (emit-push-constant-int 0) ;; srcPos
    2169       (emit-push-constant-int (length *closure-variables*))
    2170       (emit-anewarray +lisp-closure-binding+) ;; dest
    2171       (emit 'dup)
    2172       (astore register)        ;; save dest value
    2173       (emit-push-constant-int 0)                          ;; destPos
    2174       (emit-push-constant-int (length *closure-variables*)) ;; length
    2175       (emit-invokestatic +java-system+ "arraycopy"
    2176                          (list +java-object+ :int
    2177                                +java-object+ :int :int) nil)
    2178       (aload register)))) ;; reload dest value
     2165    (emit-push-constant-int 0)                            ;; srcPos
     2166    (emit-push-constant-int (length *closure-variables*))
     2167    (emit-anewarray +lisp-closure-binding+)             ;; dest
     2168    (emit 'dup)
     2169    (astore register)  ;; save dest value
     2170    (emit-push-constant-int 0)                            ;; destPos
     2171    (emit-push-constant-int (length *closure-variables*)) ;; length
     2172    (emit-invokestatic +java-system+ "arraycopy"
     2173                       (list +java-object+ :int
     2174                             +java-object+ :int :int) nil)
     2175    (aload register))) ;; reload dest value
    21792176
    21802177
Note: See TracChangeset for help on using the changeset viewer.