Author: Alex Gaynor <alex.gay...@gmail.com> Branch: Changeset: r47089:386189328fb9 Date: 2011-09-05 12:09 -0700 http://bitbucket.org/pypy/pypy/changeset/386189328fb9/
Log: a skipped, failing test. diff --git a/pypy/jit/metainterp/optimizeopt/heap.py b/pypy/jit/metainterp/optimizeopt/heap.py --- a/pypy/jit/metainterp/optimizeopt/heap.py +++ b/pypy/jit/metainterp/optimizeopt/heap.py @@ -25,7 +25,7 @@ # 'cached_fields'. # self._cached_fields = {} - self._cached_fields_getfield_op = {} + self._cached_fields_getfield_op = {} self._lazy_setfield = None self._lazy_setfield_registered = False @@ -75,7 +75,7 @@ def remember_field_value(self, structvalue, fieldvalue, getfield_op=None): assert self._lazy_setfield is None self._cached_fields[structvalue] = fieldvalue - self._cached_fields_getfield_op[structvalue] = getfield_op + self._cached_fields_getfield_op[structvalue] = getfield_op def force_lazy_setfield(self, optheap, can_cache=True): op = self._lazy_setfield @@ -163,7 +163,7 @@ def new(self): return OptHeap() - + def produce_potential_short_preamble_ops(self, sb): descrkeys = self.cached_fields.keys() if not we_are_translated(): diff --git a/pypy/jit/metainterp/optimizeopt/test/test_optimizebasic.py b/pypy/jit/metainterp/optimizeopt/test/test_optimizebasic.py --- a/pypy/jit/metainterp/optimizeopt/test/test_optimizebasic.py +++ b/pypy/jit/metainterp/optimizeopt/test/test_optimizebasic.py @@ -4711,6 +4711,33 @@ """ self.optimize_loop(ops, expected) + def test_forced_virtuals_aliasing(self): + ops = """ + [i0, i1] + p0 = new(descr=ssize) + p1 = new(descr=ssize) + escape(p0) + escape(p1) + setfield_gc(p0, i0, descr=adescr) + setfield_gc(p1, i1, descr=adescr) + i2 = getfield_gc(p0, descr=adescr) + jump(i2, i2) + """ + expected = """ + [i0, i1] + p0 = new(descr=ssize) + escape(p0) + p1 = new(descr=ssize) + escape(p1) + setfield_gc(p0, i0, descr=adescr) + setfield_gc(p1, i1, descr=adescr) + jump(i0, i0) + """ + py.test.skip("not implemented") + # setfields on things that used to be virtual still can't alias each + # other + self.optimize_loop(ops, expected) + class TestLLtype(BaseTestOptimizeBasic, LLtypeMixin): pass _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit