Tom Tromey fe1081b017 re PR libgcj/13107 (Wrong verification error in gij: recursive subroutine call)
PR libgcj/13107:
	* testsuite/libjava.lang/pr13107_2.xfail: New file.
	* testsuite/libjava.lang/pr13107_3.xfail: New file.
	* testsuite/libjava.lang/pr13107_3.java: New file.
	* testsuite/libjava.lang/pr13107_3.out: New file.
	* testsuite/libjava.lang/pr13107_2.java: New file.
	* testsuite/libjava.lang/pr13107_2.out: New file.
	* testsuite/libjava.lang/pr13107.java: New file.
	* testsuite/libjava.lang/pr13107.out: New file.
	* verify.cc (jsr_ptrs): Removed.
	(entry_points): Likewise.
	(struct subr_info): Likewise.
	(struct subr_entry_info): Likewise.
	(type_val::unused_by_subroutine_type): Likewise.
	(type::merge): Don't handle unused_by_subroutine_type.
	(type::print): Likewise.
	(state::flags): Removed.
	(state::subroutine): Likewise.
	(state::seen_subrs): Likewise.
	(state::NO_STACK): Likewise.
	(state::FLAG_CHANGED, state::FLAG_UNUSED): Likewise.
	(state): Updated all methods.
	(state::clean_subrs): Removed.
	(state::state): Removed `ret_semantics' flag.
	(state::copy): Likewise.
	(state::add_subr): Removed.
	(state::enter_subroutine): Likewise.
	(type::set_return_address): New method.
	(handle_jsr_insn): Set return address on the type.  Always
	invalidate PC after call.
	(check_nonrecursive_call): Removed.
	(~_Jv_BytecodeVerifier): Updated.
	(branch_prepass): Removed special handling of jsr.
	(note_branch_target): Likewise.
	(get_subroutine): Removed.
	(state::merge): Don't merge subroutines and don't handle
	NO_STACK.  Removed ret_semantics and jsr_semantics arguments.
	(state::note_variable): Removed.
	(state::is_unmerged_ret_state): Likewise.
	(state::print): Updated.
	(set_variable): Likewise.
	(merge_into): Renamed from push_jump_merge.  Removed ret_semantics
	and jsr_semantics arguments.  Updated for new reverification
	list.
	(pop_jump): Rewrote.
	(construct_primitive_array_type): Updated.
	(state::next): Removed.
	(INVALID_STATE): New define.
	(state::INVALID): Removed.
	(state::NO_NEXT): New value.
	(state::pc, state::next): New fields.
	(state::get_pc): New method.
	(next_verify_pc): Removed.
	(next_verify_state): New field.
	(verify_instructions_0): Always check for falling off end.
	(linked): New type.
	(linked_utf8): Removed.
	(states): Changed type.
	(type::state_mergeable_p): New method.
	(state::state_mergeable_p): Likewise.
	(handle_ret_insn): Removed most code.
	(state::reverify): New method.
	(add_new_state): Likewise.
	(state::set_pc): Likewise.

From-SVN: r76395
2004-01-23 02:49:57 +00:00
..
2000-02-07 21:40:18 +00:00
2000-02-07 21:40:18 +00:00
2000-01-19 21:38:43 +00:00
2000-01-19 21:38:43 +00:00
2000-01-19 21:38:43 +00:00
2000-12-16 05:59:45 +00:00
2000-01-19 21:38:43 +00:00
2000-01-19 21:38:43 +00:00
2000-01-19 21:38:43 +00:00
2000-01-19 21:38:43 +00:00
2000-02-07 21:40:18 +00:00
2000-02-07 21:40:18 +00:00
2000-02-09 20:49:34 +00:00
2000-02-09 20:49:34 +00:00
2000-02-07 21:40:18 +00:00
2000-02-07 21:40:18 +00:00
1999-08-17 22:05:56 +00:00
1999-08-17 22:05:56 +00:00
2002-10-03 13:12:01 +00:00
2001-12-20 14:09:03 +00:00
2000-12-16 05:59:45 +00:00
2000-06-13 23:52:00 +00:00
2003-02-17 16:07:49 +00:00
2003-02-17 16:07:49 +00:00
2000-01-19 21:38:43 +00:00
2000-01-19 21:38:43 +00:00
2000-01-19 21:38:43 +00:00
2000-01-19 21:38:43 +00:00
2002-05-04 13:24:40 +00:00
2002-05-04 13:24:40 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
2000-01-30 22:08:32 +00:00
2000-01-30 22:08:32 +00:00
2000-02-12 18:34:50 +00:00
2000-02-12 18:34:50 +00:00
1999-07-05 20:54:41 +01:00
1999-07-05 20:54:41 +01:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-08-25 18:38:58 +00:00
1999-08-25 18:38:58 +00:00
1999-08-25 17:54:55 +00:00
1999-08-25 17:54:55 +00:00
2001-07-03 23:52:27 +00:00
2001-07-03 23:52:27 +00:00
2000-01-19 21:38:43 +00:00
2000-01-19 21:38:43 +00:00
2000-01-19 21:38:43 +00:00
2002-11-02 23:36:47 +00:00
2003-03-11 20:36:34 +00:00
2003-03-11 20:36:34 +00:00
2002-07-02 17:21:10 +00:00
2002-07-02 17:21:10 +00:00
2000-01-19 21:38:43 +00:00
2000-01-19 21:38:43 +00:00
2000-01-19 21:38:43 +00:00
2000-01-19 21:38:43 +00:00
2000-01-19 21:38:43 +00:00
2000-01-19 21:38:43 +00:00
2000-01-19 21:38:43 +00:00
2000-01-19 21:38:43 +00:00
2000-01-19 21:38:43 +00:00
2000-01-19 21:38:43 +00:00
2000-05-16 19:58:42 +00:00
2000-05-16 19:58:42 +00:00
2000-12-16 05:59:45 +00:00
2001-04-05 16:07:30 -07:00
2000-12-01 21:58:34 +00:00
2002-02-24 06:45:19 +00:00
2001-05-30 15:23:23 +00:00
2001-08-01 12:40:06 +00:00
2001-08-27 06:31:06 -07:00
2000-01-11 18:58:49 +00:00
2000-01-11 18:58:49 +00:00
2001-08-13 11:06:22 -07:00
2001-08-13 11:06:22 -07:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
2002-04-17 16:39:47 +00:00
2002-04-17 16:39:47 +00:00
2000-02-07 21:40:18 +00:00
2000-02-07 21:40:18 +00:00
2002-12-05 08:06:10 +00:00
2002-12-05 08:06:10 +00:00
2000-01-16 19:55:09 +00:00
2000-01-16 19:55:09 +00:00
2000-01-16 21:01:25 +00:00
2000-01-16 21:01:25 +00:00
2000-01-16 19:55:09 +00:00
2000-01-16 21:01:25 +00:00
2000-01-16 21:01:25 +00:00
2000-03-21 04:55:43 +00:00
2000-03-21 04:55:43 +00:00
2000-03-29 03:08:59 +01:00
2000-03-29 03:08:59 +01:00
2002-10-23 22:56:13 +00:00
2002-10-23 22:56:13 +00:00
2002-11-02 00:19:52 +00:00
2002-11-02 00:19:52 +00:00
2002-11-22 16:54:22 +00:00
2002-11-22 16:54:22 +00:00
2002-12-09 01:20:38 +00:00
2002-12-09 01:20:38 +00:00
2002-12-19 06:40:03 +00:00
2002-12-19 06:40:03 +00:00
2000-03-05 07:25:14 +00:00
2000-03-05 07:25:14 +00:00
2000-03-07 18:06:31 +00:00
2000-04-28 08:42:27 +01:00
2000-04-28 08:42:27 +01:00
2000-06-23 21:53:52 +00:00
2000-06-23 21:53:52 +00:00
2001-12-18 04:59:18 +00:00
2001-12-18 04:59:18 +00:00
2001-12-18 04:38:04 +00:00
2001-12-18 04:38:04 +00:00
2002-05-23 04:30:13 +01:00
2003-07-24 17:17:24 +00:00
2003-07-24 17:17:24 +00:00
2003-11-11 20:11:43 +00:00
2003-11-11 20:11:43 +00:00
2000-01-19 21:38:43 +00:00
2000-01-19 21:38:43 +00:00
1999-05-19 06:53:20 +00:00
1999-05-19 06:53:20 +00:00
2002-10-15 19:00:24 +00:00
2002-10-15 19:25:13 +00:00
2000-07-07 20:51:48 +00:00
2000-07-07 20:51:48 +00:00
2000-05-23 21:45:16 +00:00
2000-05-23 21:45:16 +00:00
2000-02-07 21:40:18 +00:00
2000-02-07 21:40:18 +00:00
2001-07-31 02:13:46 +00:00
2001-07-31 02:13:46 +00:00
2000-03-27 19:37:16 +00:00
2000-03-27 19:37:16 +00:00
2002-09-30 05:19:09 +00:00
2002-09-30 05:19:09 +00:00
2000-03-23 12:35:44 +00:00
2000-03-23 12:35:44 +00:00
2000-03-23 12:35:44 +00:00
2000-03-23 12:35:44 +00:00
2000-03-23 12:35:44 +00:00
2000-03-23 12:35:44 +00:00
2000-03-23 12:35:44 +00:00
2000-03-23 12:35:44 +00:00
2000-03-23 12:35:44 +00:00
2000-03-23 12:35:44 +00:00
2000-01-19 21:38:43 +00:00
2000-01-19 21:38:43 +00:00
2000-01-19 21:38:43 +00:00
2000-01-19 21:38:43 +00:00
2000-01-19 21:38:43 +00:00
2000-01-19 21:38:43 +00:00
2002-09-30 05:19:09 +00:00
2002-09-30 05:19:09 +00:00
2002-11-04 17:34:09 +00:00
2002-11-04 17:34:09 +00:00
2003-05-07 01:23:16 +00:00
2003-05-07 01:23:16 +00:00