This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libgcj/17021] libgcj verifier resolves classes too eagerly
- From: "mckinlay at redhat dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 25 Oct 2005 20:36:43 -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 #14 from mckinlay at redhat dot com 2005-10-25 20:36 -------
Robert, thanks very much for working on this. Examining the behaviour of Sun's
verifier a bit more shows that it does attempt to resolve classes where type
compatibility can not be proven by a simple string comparison, so I think that
your approach is correct.
I have one pedantic concern about the implementation of
_Jv_equalUtf8Const_classnames:
Say we're comparing a class called "Lfoo" and one called "fool", and fool is
given in the bytecode form while "Lfoo" is in the regular form. So,
_Jv_equalUtf8Const_classnames would end up comparing the strings "Lfoo" and
"Lfool;". Whats to stop it falsely returning true in this case?
Also, how about a more concise name for this function: _Jv_equalUtf8Classnames?
It will also need a ChangeLog entry, of course - other than these issues, this
patch looks pretty good.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17021