verify-impl.c (verify_instructions_0): Correctly handle situation where PC falls off end.

gcc/java/:
	* verify-impl.c (verify_instructions_0): Correctly handle
	situation where PC falls off end.
libjava/:
	* verify.cc (verify_instructions_0): Correctly handle situation
	where PC falls off end.

From-SVN: r101299
This commit is contained in:
Tom Tromey 2005-06-24 22:09:15 +00:00 committed by Tom Tromey
parent 6a05987083
commit aca02b7e00
4 changed files with 19 additions and 6 deletions

View File

@ -1,3 +1,8 @@
2005-06-24 Tom Tromey <tromey@redhat.com>
* verify-impl.c (verify_instructions_0): Correctly handle
situation where PC falls off end.
2005-06-23 Bryce McKinlay <mckinlay@redhat.com>
PR java/20697

View File

@ -2251,10 +2251,12 @@ verify_instructions_0 (void)
else
{
/* We only have to do this checking in the situation where
control flow falls through from the previous
instruction. Otherwise merging is done at the time we
push the branch. */
if (vfr->states[vfr->PC] != NULL)
control flow falls through from the previous instruction.
Otherwise merging is done at the time we push the branch.
Note that we'll catch the off-the-end problem just
below. */
if (vfr->PC < vfr->current_method->code_length
&& vfr->states[vfr->PC] != NULL)
{
/* We've already visited this instruction. So merge
the states together. It is simplest, but not most

View File

@ -1,3 +1,8 @@
2005-06-24 Tom Tromey <tromey@redhat.com>
* verify.cc (verify_instructions_0): Correctly handle situation
where PC falls off end.
2005-06-24 Tom Tromey <tromey@redhat.com>
* interpret.cc (compile): Handle case where table entry is

View File

@ -2198,8 +2198,9 @@ private:
// We only have to do this checking in the situation where
// control flow falls through from the previous
// instruction. Otherwise merging is done at the time we
// push the branch.
if (states[PC] != NULL)
// push the branch. Note that we'll catch the
// off-the-end problem just below.
if (PC < current_method->code_length && states[PC] != NULL)
{
// We've already visited this instruction. So merge
// the states together. It is simplest, but not most