Hi,
if the descr can change and assumptions are made about it you'll need
to add it to virtualstate.NotVirtualStateInfo and check it in
generalization_of and _generate_guards. Otherwise if a peeled loop
becomes specialized to some specific descr and that descr is changed
on a bridge, the bridge will jump to the peeled loop, but it has to
jump to the preamble.

On Fri, Mar 30, 2012 at 4:00 AM, alex_gaynor <[email protected]> wrote:
> Author: Alex Gaynor <[email protected]>
> Branch: dynamic-specialized-tuple
> Changeset: r54088:5b813268023d
> Date: 2012-03-29 21:59 -0400
> http://bitbucket.org/pypy/pypy/changeset/5b813268023d/
>
> Log:    kill an assert that doesn't hold now.
>
> diff --git a/pypy/jit/metainterp/optimizeopt/optimizer.py 
> b/pypy/jit/metainterp/optimizeopt/optimizer.py
> --- a/pypy/jit/metainterp/optimizeopt/optimizer.py
> +++ b/pypy/jit/metainterp/optimizeopt/optimizer.py
> @@ -59,7 +59,6 @@
>     def make_len_gt(self, mode, descr, val):
>         if self.lenbound:
>             assert self.lenbound.mode == mode
> -            assert self.lenbound.descr == descr
>             self.lenbound.bound.make_gt(IntBound(val, val))
>         else:
>             self.lenbound = LenBound(mode, descr, IntLowerBound(val + 1))
> _______________________________________________
> pypy-commit mailing list
> [email protected]
> http://mail.python.org/mailman/listinfo/pypy-commit



-- 
Håkan Ardö
_______________________________________________
pypy-dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-dev

Reply via email to