diff options
-rw-r--r-- | gcc/java/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/java/expr.c | 1 | ||||
-rw-r--r-- | gcc/java/java-tree.h | 10 |
3 files changed, 9 insertions, 8 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index e140a52..9e83445 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,9 @@ +2002-04-23 Per Bothner <per@bothner.com> + + * expr.c (PRE_JSR): Call NOTE_LABEL for return address. + * java-tree.h (BCODE_RETURN_TARGET): Removed - never set. + (BCODE_TARGET): Remove BCODE_RETURN_TARGET. + 2002-04-23 Tom Tromey <tromey@redhat.com> For PR java/6314: diff --git a/gcc/java/expr.c b/gcc/java/expr.c index dd736c7..f17fef8 100644 --- a/gcc/java/expr.c +++ b/gcc/java/expr.c @@ -2774,6 +2774,7 @@ note_instructions (jcf, method) if (!saw_index) NOTE_LABEL(oldpc + INT_temp); #define PRE_JSR(OPERAND_TYPE, OPERAND_VALUE) \ saw_index = 0; INT_temp = (OPERAND_VALUE); \ + NOTE_LABEL (PC); \ if (!saw_index) NOTE_LABEL(oldpc + INT_temp); #define PRE_RET(OPERAND_TYPE, OPERAND_VALUE) (void)(OPERAND_VALUE) diff --git a/gcc/java/java-tree.h b/gcc/java/java-tree.h index 84a2afb..d6d698c 100644 --- a/gcc/java/java-tree.h +++ b/gcc/java/java-tree.h @@ -1343,20 +1343,14 @@ extern char *instruction_bits; /* True iff the byte is the start of an instruction. */ #define BCODE_INSTRUCTION_START 1 -/* True iff there is a jump to this location. */ +/* True iff there is a jump or a return to this location. */ #define BCODE_JUMP_TARGET 2 -/* True iff there is a return to this location. - (I.e. the preceding instruction was a call.) */ -#define BCODE_RETURN_TARGET 4 - /* True iff this is the start of an exception handler. */ #define BCODE_EXCEPTION_TARGET 16 /* True iff there is a jump to this location (and it needs a label). */ -#define BCODE_TARGET \ - (BCODE_JUMP_TARGET|BCODE_RETURN_TARGET \ - | BCODE_EXCEPTION_TARGET) +#define BCODE_TARGET (BCODE_JUMP_TARGET| BCODE_EXCEPTION_TARGET) /* True iff there is an entry in the linenumber table for this location. */ #define BCODE_HAS_LINENUMBER 32 |