diff options
author | Andrew Haley <aph@cygnus.com> | 2000-02-09 14:08:44 +0000 |
---|---|---|
committer | Andrew Haley <aph@gcc.gnu.org> | 2000-02-09 14:08:44 +0000 |
commit | e8b22dd136b0adf813976ca738c7d96d101b3452 (patch) | |
tree | b67485a68e46fde7b7d44642f8af9498d8fe9b03 /gcc/java/java-except.h | |
parent | 665792ebecf527818aa1fcaf31b90307204cef30 (diff) | |
download | gcc-e8b22dd136b0adf813976ca738c7d96d101b3452.zip gcc-e8b22dd136b0adf813976ca738c7d96d101b3452.tar.gz gcc-e8b22dd136b0adf813976ca738c7d96d101b3452.tar.bz2 |
java-except.h (struct eh_range): Add `expanded' field.
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.
From-SVN: r31861
Diffstat (limited to 'gcc/java/java-except.h')
-rw-r--r-- | gcc/java/java-except.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/java/java-except.h b/gcc/java/java-except.h index 49ef54b..e069053 100644 --- a/gcc/java/java-except.h +++ b/gcc/java/java-except.h @@ -47,6 +47,9 @@ struct eh_range /* The next child of outer, in address order. */ struct eh_range *next_sibling; + + /* True if this range has already been expanded. */ + int expanded; }; /* A dummy range that represents the entire method. */ @@ -60,9 +63,9 @@ extern void method_init_exceptions PARAMS ((void)); extern void emit_handlers PARAMS ((void)); -extern void maybe_start_try PARAMS ((int)); +extern void maybe_start_try PARAMS ((int, int)); -extern void maybe_end_try PARAMS ((int)); +extern void maybe_end_try PARAMS ((int, int)); extern void add_handler PARAMS ((int, int, tree, tree)); |