Re: [abc] [Bug 18] New: jimple type assigner can interact badly with cast pointcuts in extreme cases

From: Ganesh Sittampalam <Ganesh.Sittampalam@comlab.ox.ac.uk>
Date: Fri Sep 17 2004 - 03:02:59 BST

On Thu, 16 Sep 2004, Ondrej Lhotak wrote:

> But that opens up yet another can of worms (where will it all end?): is
> the point of the cast pointcut to capture all of the casts in the code
> going into the compiler, or all the code coming out? I think different
> users could make sensible arguments for either alternative. For example,
> you may want to tag casts with an after throwing that does some recovery
> if they fail; in that case, you wouldn't want output in which certain
> casts lack this recovery code just because they weren't in the original
> bytecode.

In this particular case, the casts can't possibly fail. If there are
similar cases where they could fail, then the original bytecode would have
had a runtime failure when invokeinterface got called, if I understand the
SAS paper correctly. I'd have to experiment a bit to make a test case for
this.

> In this case, a very easy "fix" is to just define the cast extension as
> implementing the second alternative, which is just as valid as the
> first.

Yeah, that would be a possibility. Of course, we'd then have to be careful
not to do any backend optimisations that removed unnecessary casts like
these ones..

> I guess we can leave it open, but it makes abc look bad to have bugs and
> test failures which, IMHO, aren't really bugs.

IMO the people that care enough to go looking that deeply will understand
the relative unimportance of such things. I could be wrong, of course.
[And in the general spirit of such insults, I submit that only a marketing
person would have made this point :-)]

Ganesh
Received on Fri Sep 17 03:03:03 2004

This archive was generated by hypermail 2.1.8 : Fri Sep 17 2004 - 04:20:02 BST