[pypy-dev] Annotating space status

Samuele Pedroni pedronis at bluewin.ch
Wed Jul 2 19:09:23 CEST 2003


At 12:29 02.07.2003 -0400, Guido van Rossum wrote:
> > I have committed a different fix: a cycle doesn't reach a fix point as 
> long
> > as there's a W_ConstantIterator which is being consumed.
>
>This works now, but it makes me worry.  I think that the symbolic
>execution framework doesn't really cope very well with mutable
>objects; I expect that we'll get other problems like this.
>
>I wonder if you or Armin have a better idea on how to deal with this?
>I'd think that maintaining a 'changed-since-last-clone' flag in each
>object seems a pretty ad-hoc solution...

the problem is our fix-point condition which is mostly based purely on types,
and that we are trying to have it both ways, doing some mixture of constant 
propagation (normal eval) and type propagation, if you consider code like this:

x = 0
while True:
   x = x + 2

type propagation can end, but constant evaluation will give an infinite loop.

So we should clarify what we really want.

One possibility is optinally instead of using types to decide fix-points, 
we stop if some bytecode (position) has been encountered more than N times.

regards. 



More information about the Pypy-dev mailing list