Changeset 11827


Ignore:
Timestamp:
05/03/09 21:00:28 (14 years ago)
Author:
ehuelsmann
Message:

P2-CATCH: Do what we do in P1-CATCH, which is binding
the CATCH block during compilation of the body.

File:
1 edited

Legend:

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

    r11824 r11827  
    77937793      (emit-invokevirtual +lisp-thread-class+ "pushCatchTag"
    77947794                          (lisp-object-arg-types 1) nil)
    7795       ; Stack depth is 0.
    7796       (label BEGIN-PROTECTED-RANGE) ; Start of protected range.
    7797       (compile-progn-body (cddr form) target) ; Implicit PROGN.
    7798       (label END-PROTECTED-RANGE) ; End of protected range.
    7799       (emit 'goto EXIT) ; Jump over handlers.
     7795      (let ((*blocks* (cons block *blocks*)))
     7796        ; Stack depth is 0.
     7797        (label BEGIN-PROTECTED-RANGE) ; Start of protected range.
     7798        (compile-progn-body (cddr form) target) ; Implicit PROGN.
     7799        (label END-PROTECTED-RANGE) ; End of protected range.
     7800        (emit 'goto EXIT)) ; Jump over handlers.
    78007801      (label THROW-HANDLER) ; Start of handler for THROW.
    78017802      ;; The Throw object is on the runtime stack. Stack depth is 1.
Note: See TracChangeset for help on using the changeset viewer.