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
2001-07-13 12:45:05 -07:00
2001-07-13 12:45:05 -07: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
2002-02-20 04:14:15 +00:00
2002-02-20 04:14:15 +00:00
2002-02-20 04:14:15 +00:00
2002-02-20 04:14:15 +00:00
2002-02-20 04:14:15 +00:00
2002-02-20 04:14:15 +00:00
2003-05-01 21:31:58 +00:00
2003-05-01 21:31:58 +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
2001-07-06 16:32:40 +00:00
2001-07-06 16:32:40 +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
2002-10-15 18:43:11 +00:00
2002-10-15 18:43:11 +00:00
2001-12-20 14:09:03 +00:00
2001-12-20 14:09:03 +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
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
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-03 01:30:28 +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-02-12 18:34:50 +00:00
2000-02-12 18:34:50 +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
2000-12-16 06:45:22 +00:00
2000-02-16 05:13:46 +00:00
2000-02-16 05:13:46 +00:00
2001-07-13 12:45:05 -07:00
2001-07-13 12:45:05 -07:00
2002-03-27 16:31:18 +00:00
2002-02-24 06:45:19 +00:00
2001-06-02 09:18:14 +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
2003-09-05 01:54:21 +00:00
2003-06-08 18:17:53 +00:00
2003-06-08 18:17:53 +00:00
2001-08-13 11:06:22 -07:00
2001-08-13 11:06:22 -07:00
2000-01-19 21:38:43 +00:00
2000-01-19 21:38:43 +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
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
2003-10-16 21:19:53 +00:00
2003-10-16 21:19:53 +00:00
2003-05-31 13:23:32 +00:00
2003-05-31 13:23:32 +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-03-19 04:35:24 +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
2004-01-23 02:49:57 +00:00
2004-01-23 02:49:57 +00:00
2004-01-23 02:49:57 +00:00
2004-01-23 02:49:57 +00:00
2004-01-23 02:49:57 +00:00
2004-01-23 02:49:57 +00:00
2004-01-23 02:49:57 +00:00
2004-01-23 02:49:57 +00:00
1999-09-29 23:10:11 +00:00
1999-09-29 23:10:11 +00:00
1999-10-02 00:39:04 +00:00
1999-10-02 00:39:04 +00:00
2000-03-06 03:48:33 +00:00
2000-03-06 03:48:33 +00:00
2000-03-05 07:25:14 +00:00
2000-03-05 07:25:14 +00:00
2000-03-08 05:42:07 +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-05-29 06:26:14 +01:00
2000-05-29 06:26:14 +01:00
2000-06-23 21:53:52 +00:00
2000-06-23 21:53:52 +00:00
2001-10-25 14:13:18 -07:00
2001-10-25 14:13:18 -07:00
2001-07-19 14:03:08 +00:00
2001-12-09 23:49:29 +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-04-09 06:25:11 +01:00
2002-04-09 06:25:11 +01:00
2002-04-09 06:25:11 +01:00
2002-04-09 06:25:11 +01:00
2002-06-11 14:38:44 +00:00
2002-05-23 04:30:13 +01:00
2002-05-23 04:32:05 +01:00
2002-05-27 06:47:40 +01:00
2002-05-27 06:47:40 +01:00
2003-07-24 17:17:24 +00:00
2003-07-24 17:17:24 +00:00
2003-04-16 20:39:12 +00:00
2003-09-22 09:17:49 +01:00
2003-09-22 09:17:49 +01:00
2003-10-22 19:28:15 +00:00
2003-10-22 19:28:15 +00:00
2003-10-22 18:04:35 +00:00
2003-10-22 18:04:35 +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
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
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
2003-10-16 21:28:23 +00:00
2003-10-16 21:28:23 +00:00
2000-05-10 11:13:07 +01:00
2000-05-10 11:13:07 +01:00
2003-10-16 21:35:42 +00:00
2003-10-16 21:35:42 +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
2002-02-20 04:18:54 +00:00
2000-02-07 21:40:18 +00:00
2000-02-07 21:40:18 +00:00
2002-04-12 08:33:13 +00:00
2002-04-12 08:33:13 +00:00
2003-07-09 21:07:42 +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
2001-05-04 19:33:10 +00:00
2002-03-22 11:18:03 +00:00
2000-03-23 12:35:44 +00:00
2001-05-04 19:33:10 +00:00
2000-03-23 12:35:44 +00:00
2000-03-23 12:35:44 +00:00
2001-05-04 19:33:10 +00:00
2000-03-23 12:35:44 +00:00
2000-03-23 12:35:44 +00:00
2001-05-04 19:33:10 +00:00
2000-03-23 12:35:44 +00:00
2000-03-23 12:35:44 +00:00
2001-05-04 19:33:10 +00:00
2000-03-23 12:35:44 +00:00
2000-03-23 12:35:44 +00:00
2001-05-04 19:33:10 +00:00
2000-03-23 12:35:44 +00:00
2000-03-23 12:35:44 +00:00
2001-05-04 19:33:10 +00:00
2001-10-31 00:48:17 +00:00
2000-03-23 12:35:44 +00:00
2001-05-04 19:33:10 +00:00
2003-04-16 11:43:04 +00:00
2003-04-16 11:43:04 +00:00
2001-07-10 17:47:37 -07:00
2001-07-10 17:47:37 -07:00
2001-11-02 06:50:33 +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