diff options
author | Per Bothner <per@bothner.com> | 2005-06-13 12:30:47 -0700 |
---|---|---|
committer | Per Bothner <bothner@gcc.gnu.org> | 2005-06-13 12:30:47 -0700 |
commit | 885beb81abe41d740e709e42f1d288910bfd1c73 (patch) | |
tree | 381fbfa6314b752218f977d1bb3a01148c26892e /gcc/java/java-tree.h | |
parent | a1b6a5910bb7a4db753e0cbc28e4c9496e40fc13 (diff) | |
download | gcc-885beb81abe41d740e709e42f1d288910bfd1c73.zip gcc-885beb81abe41d740e709e42f1d288910bfd1c73.tar.gz gcc-885beb81abe41d740e709e42f1d288910bfd1c73.tar.bz2 |
expr.c (int highest_label_pc_this_method, [...]): New globals.
* expr.c (int highest_label_pc_this_method,
start_label_pc_this_method): New globals.
(lookup_label): Add start_label_pc_this_method to pc for label, and
update highest_label_pc_this_method. This prevents conflicts between
labels from different methods.
* java-tree.h: Declare new globals.
* jcf-parse.c (parse_class_file): If needed bump
start_label_pc_this_method and reset highest_label_pc_this_method.
From-SVN: r100896
Diffstat (limited to 'gcc/java/java-tree.h')
-rw-r--r-- | gcc/java/java-tree.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/java/java-tree.h b/gcc/java/java-tree.h index 826d4cb..5651dc3 100644 --- a/gcc/java/java-tree.h +++ b/gcc/java/java-tree.h @@ -234,6 +234,12 @@ extern int always_initialize_class_p; extern int flag_verify_invocations; +/* Largest pc so far in this method that has been passed to lookup_label. */ +extern int highest_label_pc_this_method; + +/* Base value for this method to add to pc to get generated label. */ +extern int start_label_pc_this_method; + typedef struct CPool constant_pool; #define CONSTANT_ResolvedFlag 16 |