[kaffe] Re: flestmail - daily - 365/365 passed (100.0%) (0 errors,
0 failures)
Archie Cobbs
archie@dellroad.org
Tue, 17 Sep 2002 11:08:12 -0700 (PDT)
Patrick Tullmann writes:
> I was reading the VM spec last night, and it says that the end of an
> exception range is exclusive, vs. the start being inclusive. Since
> that's exactly what's happening (the exception is being re-tossed at
> the very end of the coverage), I changed:
> if (pc < start_pc || pc > end_pc) {
> continue;
> }
> to:
> if (pc < start_pc || pc >= end_pc) {
> continue;
> }
> in the loop over the available exception handlers in
> findExceptionBlockInMethod. This "fixed" the problem. However, that
> comparison hasn't been touched since December `98. I have a hard time
> believing the interpreter has never encountered this situation
> before... (Perhaps the end_pc's were fixed up elsewhere at some
> point?)
>
> Hmm.... compiling it with kcj 'Version 2.1B released 17. July 2002' or
> jikes 'Version 1.13 3/1/2001' doesn't make any difference... Also,
> Sun's JDK1.4 can complete either compiled version of the test just
> fine.
>
> So, I think that's the fix. I'm still wary because I wonder why it
> ever worked... :)
This seems reasonable to me.. as it's probably unlikely in practice
for an exception to occur exactly on the very first instruction
after an exception range.
Good catch, I'd say :-)
-Archie
__________________________________________________________________________
Archie Cobbs * Packet Design * http://www.packetdesign.com