OSDN Git Service

2000-01-25 Andrew Haley <aph@cygnus.com>
authoraph <aph@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 9 Feb 2000 14:08:44 +0000 (14:08 +0000)
committeraph <aph@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 9 Feb 2000 14:08:44 +0000 (14:08 +0000)
commitc1b6623d50f7f529f5c9135fc989f683f628f038
treeb67485a68e46fde7b7d44642f8af9498d8fe9b03
parentfd663a4f644536104e6a20f9a1d26e3f68ac1824
2000-01-25  Andrew Haley  <aph@cygnus.com>

        * java-except.h (struct eh_range): Add `expanded' field.
        (maybe_start_try): Add end_pc arg.
        (maybe_end_try): Ditto.
* java-tree.h (force_poplevels): new function.
        * expr.c (expand_byte_code): Don't call maybe_start_try or
        maybe_end_try.
        * except.c (add_handler): Reset expanded.
        (expand_start_java_handler): Set expanded.
        (check_start_handlers): Don't expand a start handler that's
        already been expanded.
        (maybe_start_try): Add end_pc arg.  Only expand a handler which
        ends after end_pc.
(expand_end_java_handler): call force_poplevels.
(force_poplevels): new function.
        * decl.c (binding_level): Add start_pc of binding level.
        (maybe_pushlevels): Call maybe_start_try when pushing binding
        levels.
        (maybe_poplevels): Call maybe_end_try when popping binding levels.
        (LARGEST_PC): Define.
        (clear_binding_level): Use LARGEST_PC.

* java-tree.h (DEBUG_JAVA_BINDING_LEVELS): new define.
* decl.c (DEBUG_JAVA_BINDING_LEVELS): new define.
(binding_depth, is_class_level, current_pc): new variables.
        (struct binding_level): ditto.
(indent): new function.
(push_jvm_slot): add debugging info.
(maybe_pushlevels): ditto.
(maybe_poplevels): ditto.
(pushlevel): ditto.
(poplevel): ditto.
(start_java_method): ditto.
(give_name_to_locals): comment only.
* except.c (binding_depth, is_class_level, current_pc):
new variables.
(expand_start_java_handler): add debugging info.
(expand_end_java_handler): ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31861 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/java/ChangeLog
gcc/java/decl.c
gcc/java/except.c
gcc/java/expr.c
gcc/java/java-except.h
gcc/java/java-tree.h