From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31620 invoked by alias); 23 Jan 2004 02:50:13 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 31612 invoked by alias); 23 Jan 2004 02:50:12 -0000 Date: Fri, 23 Jan 2004 02:50:00 -0000 Message-ID: <20040123025012.31611.qmail@sources.redhat.com> From: "cvs-commit at gcc dot gnu dot org" To: gcc-bugs@gcc.gnu.org In-Reply-To: <20031118161405.13107.bonniot@users.sf.net> References: <20031118161405.13107.bonniot@users.sf.net> Reply-To: gcc-bugzilla@gcc.gnu.org Subject: [Bug libgcj/13107] Wrong verification error in gij: recursive subroutine call X-Bugzilla-Reason: CC X-SW-Source: 2004-01/txt/msg02877.txt.bz2 List-Id: ------- Additional Comments From cvs-commit at gcc dot gnu dot org 2004-01-23 02:50 ------- Subject: Bug 13107 CVSROOT: /cvs/gcc Module name: gcc Changes by: tromey@gcc.gnu.org 2004-01-23 02:49:57 Modified files: libjava : ChangeLog verify.cc Added files: libjava/testsuite/libjava.lang: pr13107.java pr13107.out pr13107_2.java pr13107_2.out pr13107_2.xfail pr13107_3.java pr13107_3.out pr13107_3.xfail Log message: 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. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/ChangeLog.diff?cvsroot=gcc&r1=1.2588&r2=1.2589 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/verify.cc.diff?cvsroot=gcc&r1=1.59&r2=1.60 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/testsuite/libjava.lang/pr13107.java.diff?cvsroot=gcc&r1=NONE&r2=1.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/testsuite/libjava.lang/pr13107.out.diff?cvsroot=gcc&r1=NONE&r2=1.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/testsuite/libjava.lang/pr13107_2.java.diff?cvsroot=gcc&r1=NONE&r2=1.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/testsuite/libjava.lang/pr13107_2.out.diff?cvsroot=gcc&r1=NONE&r2=1.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/testsuite/libjava.lang/pr13107_2.xfail.diff?cvsroot=gcc&r1=NONE&r2=1.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/testsuite/libjava.lang/pr13107_3.java.diff?cvsroot=gcc&r1=NONE&r2=1.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/testsuite/libjava.lang/pr13107_3.out.diff?cvsroot=gcc&r1=NONE&r2=1.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/testsuite/libjava.lang/pr13107_3.xfail.diff?cvsroot=gcc&r1=NONE&r2=1.1 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13107