Ignore:
Timestamp:
02/15/11 22:29:22 (12 years ago)
Author:
ehuelsmann
Message:

Backport 'unsafe-p-removal' branch: this commit pushes back the
responsibility of maintaining stack consistency in generated (byte) code
to pass2, from a shared pass1/pass2 responsibility. The issue why it can't
happen in pass1 is because in pass1 the full structure of the lisp code
isn't known yet, due to lambda and local function inlining.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/abcl/src/org/armedbear/lisp/jvm-class-file.lisp

    r13078 r13222  
    10211021(defun finalize-code-attribute (code parent class)
    10221022  "Prepares the `code' attribute for serialization, within method `parent'."
    1023   (declare (ignore parent))
    10241023  (let* ((handlers (code-exception-handlers code))
    10251024         (c (finalize-code
     
    10291028                            (mapcar #'exception-handler-pc handlers))
    10301029                     t)))
     1030    (invoke-callbacks :code-finalized class parent
     1031                      (coerce c 'list) handlers)
    10311032    (unless (code-max-stack code)
    10321033      (setf (code-max-stack code)
Note: See TracChangeset for help on using the changeset viewer.