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
