Changeset 11709


Ignore:
Timestamp:
03/15/09 07:54:27 (14 years ago)
Author:
ehuelsmann
Message:

Remove unnecessary saving/restoring of dynamic environment
from P2-TAGBODY: it doesn't manipulate it.

File:
1 edited

Legend:

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

    r11708 r11709  
    45614561         (END-BLOCK (gensym))
    45624562         (EXIT (gensym))
    4563          environment-register
    45644563         (must-clear-values nil))
    45654564    ;; Scan for tags.
     
    45694568          (push tag local-tags)
    45704569          (push tag *visible-tags*))))
    4571     (when (block-non-local-go-p block)
    4572       (dformat t "p2-tagbody-node lastSpecialBinding~%")
    4573       (setf environment-register (allocate-register))
    4574       (emit-push-current-thread)
    4575       (emit 'getfield +lisp-thread-class+ "lastSpecialBinding" +lisp-special-binding+)
    4576       (astore environment-register))
    45774570    (label BEGIN-BLOCK)
    45784571    (do* ((rest body (cdr rest))
     
    46174610            (emit 'if_acmpne NEXT) ;; Jump if not EQ.
    46184611            ;; Restore dynamic environment.
    4619             (emit-push-current-thread)
    4620             (aver (fixnump environment-register))
    4621             (aload environment-register)
    4622             (emit 'putfield +lisp-thread-class+ "lastSpecialBinding" +lisp-special-binding+)
    46234612            (emit 'goto (tag-label tag))
    46244613            (label NEXT)))
Note: See TracChangeset for help on using the changeset viewer.