This is the mail archive of the
java-prs@gcc.gnu.org
mailing list for the Java project.
[Bug libgcj/17021] libgcj verifier resolves classes too eagerly
- From: "thebohemian at gmx dot net" <gcc-bugzilla at gcc dot gnu dot org>
- To: java-prs at gcc dot gnu dot org
- Date: 21 Oct 2005 16:13:40 -0000
- Subject: [Bug libgcj/17021] libgcj verifier resolves classes too eagerly
- References: <bug-17021-6651@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #12 from thebohemian at gmx dot net 2005-10-21 16:13 -------
Tromey suggested to not transform all Utf8Const object into a canonical form so
I fixed the invokevirtual problem in the first way.
I introduced a new method _Jv_equalUt8Const_classnames method which reliably
compares classnames of different formats and finds out whether they denote the
same Java class.
However before I could test the new code I found out that gcj failed to load a
certain "[java.lang.String". This was introduced by the new to_array code which
assumed that classnames where given in the "Lp1/p2/cn;" format. Unfortunately
this is not the case and I had to make that code aware of that fact.
I attach the final patch which fixes
a) the problems mentioned in this bug
b) the problems with array instantiations
c) the problem that return type checking always provoked class resolution
Please review.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17021