]> git.ipfire.org Git - thirdparty/gcc.git/commit
defineclass.cc (read_one_method_attribute): `end_pc' for an exception can be equal...
authorTom Tromey <tromey@redhat.com>
Tue, 4 Dec 2001 20:18:35 +0000 (20:18 +0000)
committerTom Tromey <tromey@gcc.gnu.org>
Tue, 4 Dec 2001 20:18:35 +0000 (20:18 +0000)
commitef9f3bc4493033daaa1ccd509817226d01e0202b
tree106e1d4bef880d76ab5ec7fbfb57a2f2fe42f3b6
parent5b5e609d03ec31780977795463c3b12f1c2387f3
defineclass.cc (read_one_method_attribute): `end_pc' for an exception can be equal to code length.

* defineclass.cc (read_one_method_attribute): `end_pc' for an
exception can be equal to code length.
* verify.cc (_Jv_BytecodeVerifier::verify_instructions_0): Removed
`start_PC' from error invocation where it didn't make sense, and
updated error message.  Use `copy' to copy a state.  Only try to
merge current state with saved state when we've fallen through
from the previous instruction.
(_Jv_BytecodeVerifier::pop_ref_or_return): New method.
(_Jv_BytecodeVerifier::verify_instructions_0) [op_astore_0]: Use
pop_ref_or_return.
(_Jv_BytecodeVerifier::verify_instructions_0) [op_astore]:
Likewise.
(_Jv_BytecodeVerifier::push_jump_merge): Pass max_locals, not
max_stack, to merge.
(_Jv_BytecodeVerifier::verify_instructions_0): Likewise.
(_Jv_BytecodeVerifier::push_jump_merge): Merge from new state into
state at branch target, not vice versa.
(_Jv_BytecodeVerifier::branch_prepass): Allow end of exception to
be equal to code length.  Removed redundant test to see if
exception start is after exception end.
(_Jv_BytecodeVerifier::verify_instructions_0): Type of argument to
`finally' is Throwable.

From-SVN: r47623
libjava/ChangeLog
libjava/defineclass.cc
libjava/verify.cc