more gcj 3.0 fun -- catch { try {...}...}, encodings
Tom Tromey
tromey@redhat.com
Tue Jun 26 09:33:00 GMT 2001
>> That's about it. Sometimes you can rule out a runtime bug by
>> compiling to bytecode and running the program through `gij'. I often
>> find this sort of comparison useful.
David> Or at least thought provoking. Neither GCJ nor GIJ give the
David> correct output for this catch { try { ... } ... } construct,
David> but their failure modes are different ... maybe more than one
David> bug is lurking? :)
That much we know! :-)
If I suspect an interpreter or class library bug I run the code
through both gij and java. Many times differences represent problems
(depending on how much the test relies on underspecified behavior).
If I suspect a bug in `gcj -C' I compile the code with both gcj and
javac, and then compare the two, either by running the code through
the interpreters, or by reading the bytecode with jcf-dump.
These are just handy tools to help me find the most likely locale of a
bug. In the end there's only debugging.
The reason I suspected a compiler bug is that the EH code changed just
before the gcc 3.0 release, and gcj has already had a few EH bugs not
seen anywhere else. I wouldn't be suprised if more lurk.
Tom
More information about the Java
mailing list