There is currently no way to disable bytecode verification of loaded classes in gij, except by either commenting out the call to _Jv_VerifyMethod( ) in libjava/resolve.cc or by emptying out the body of that method in libjava/verify.cc and then recompiling the whole of libgcj! Needless to say this is quite tedious. Sun's JVMs support the following flags that should be implemented by gij as well: -noverify Do not do bytecode verification. -verify Verify *all* loaded bytecode. In addition, Sun's JVMs do not verify the classes in the bootstrap CLASSPATH by default, unless explicitly instructed by using the "-verify" flag. Again, gij could benefit from this "optimisation".
Confirmed.
Actually, verification is no longer optional according to the JVMS as well as the JLS (Second Edition): http://java.sun.com/docs/books/vmspec/2nd-edition/html/ChangesAppendix.doc.html#448680 http://java.sun.com/docs/books/jls/second_edition/html/execution.doc.html#44490 That explains why the corresponding options are "hidden" in the JDK (at least as of 1.4.2). So should this be marked as WONTFIX?
I think we'll still want a flag allowing the user to disable verification.
We now have -verify and -noverify flags. However, we still verify classes found on the bootclasspath. I've changed this PR's synopsis to reflect this. One question is whether we care about the bootclasspath feature.
Closing as won't fix as libgcj (and the java front-end) has been removed from the trunk.