On Sun, 2006-08-27 at 15:02 -0600, Tom Tromey wrote:
One way to check is to run gij with -verbose:class and look at the
output. It will tell you which classes are defined "BC-compiled",
which are interpreted, etc.
This output looks very suspicious to me:
[Loaded (bytecode) org.bouncycastle.jce.provider.BouncyCastleProvider from
(file:/usr/share/java/gcj-endorsed/bcprov-1.33.ja\r <no certificates>)]
[Loaded (BC-compiled) org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers from
(file:/usr/share/java/gcj-endorsed/bcprov-1.33.j\ar <no certificates>)]
[Loaded (BC-compiled) org.bouncycastle.asn1.DERObjectIdentifier from
(file:/usr/share/java/gcj-endorsed/bcprov-1.33.jar <no \certificates>)]
[Loaded (BC-compiled) org.bouncycastle.asn1.DERObject from
(file:/usr/share/java/gcj-endorsed/bcprov-1.33.jar <no certificat\es>)]
[Loaded (BC-compiled) org.bouncycastle.asn1.ASN1Encodable from
(file:/usr/share/java/gcj-endorsed/bcprov-1.33.jar <no certif\icates>)]
[Loaded (pre-compiled) org.bouncycastle.asn1.DEREncodable from
(file:/usr/share/java/gcj-endorsed/bcprov-1.33.jar <no certif\icates>)]
[Loaded (pre-compiled) org.bouncycastle.asn1.DERTags from
(file:/usr/share/java/gcj-endorsed/bcprov-1.33.jar <no certificate\s>)]
This is all from the same .jar that was built to a .so using our
standard mechanism.
Similarly, it looks as though some Azureus and SWT classes are
"BC-compiled" and some are "bytecode".
BTW, I also noticed in an ant run that ant was executing natively, while
the Eclipse compiler it invokes is being interpreted. Builds are
noticeable slower than on my FC5 machine.
I don't think there is a super-easy way to check the contents of
a
.jar against a given .db -- but you could make a new .db using the SWT
.jar, then dump both the installed .db and the new one, and compare
class signatures using a script. Maybe the installed .db is corrupted
or made from an old SWT or something.
Gah.. this is the problem. Somewhere along the line aot-compile-rpm is
creating partial classmap.db files. For instance, bcprov-1.33.jar.db
only contains 331 entries but bcprov-1.33.jar has over 800 classes.
I'll file a bug (against java-1.4.2-gcj-compat-devel I suppose) and copy
relevant people.
AG