On Thu, 2006-03-30 at 18:39 +0100, Andrew Haley wrote: > Jeffrey A Law writes: > > On Wed, 2006-03-29 at 14:28 -0700, Tom Tromey wrote: > > > > > On irc today we were discussing handling 'this' in gcj. We can add an > > > attribute to the argument to mark it as non-null... but strangely > > > there doesn't seem to be a way to mark other local variables as > > > known-non-null -- a curious deficiency. > > It seems to me that for other locals that the non-null property > > ought to be a property of how those locals are assigned a value. > > ie, if we're going to be able to derive a non-null for a local we > > should be able to derive it from the RHS of the assignment(s) to > > that local. > > Right, that's true. The idea is that a great many library functions > either return a valid object or throw an execption, and we can > propagate that information to VRP> > > > IIRC "this" is actually a parameter and thus there's no assignment > > we can derive information from. > > Mmm, yeah. The point is that we solved the problem for "this", but > not for other things. And I think the way to solve this is to mark those interesting library functions, then fix VRP so that it's not so eager to ignore function calls :-)
jeff > > Andrew.