[Bug libgcj/17021] libgcj verifier resolves classes too eagerly

thebohemian at gmx dot net gcc-bugzilla@gcc.gnu.org
Fri Oct 21 16:13:00 GMT 2005

------- 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.



More information about the Java-prs mailing list