Author: Christian Tismer <tis...@stackless.com> Branch: win64-stage1 Changeset: r53385:12257fb4bf4e Date: 2012-03-12 16:28 -0700 http://bitbucket.org/pypy/pypy/changeset/12257fb4bf4e/
Log: Merge with default (4 weeks) diff --git a/pypy/doc/conf.py b/pypy/doc/conf.py --- a/pypy/doc/conf.py +++ b/pypy/doc/conf.py @@ -45,9 +45,9 @@ # built documents. # # The short X.Y version. -version = '1.7' +version = '1.8' # The full version, including alpha/beta/rc tags. -release = '1.7' +release = '1.8' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/pypy/doc/release-1.8.0.rst b/pypy/doc/release-1.8.0.rst --- a/pypy/doc/release-1.8.0.rst +++ b/pypy/doc/release-1.8.0.rst @@ -34,13 +34,13 @@ strategies for unicode and string lists. * As usual, numerous performance improvements. There are too many examples - which python constructs now should behave faster to list them. + of python constructs that now should behave faster to list them. * Bugfixes and compatibility fixes with CPython. * Windows fixes. -* NumPy effort progress, for the exact list of things that have been done, +* NumPy effort progress; for the exact list of things that have been done, consult the `numpy status page`_. A tentative list of things that has been done: diff --git a/pypy/jit/codewriter/flatten.py b/pypy/jit/codewriter/flatten.py --- a/pypy/jit/codewriter/flatten.py +++ b/pypy/jit/codewriter/flatten.py @@ -162,7 +162,9 @@ if len(block.exits) == 1: # A single link, fall-through link = block.exits[0] - assert link.exitcase is None + assert link.exitcase in (None, False, True) + # the cases False or True should not really occur, but can show + # up in the manually hacked graphs for generators... self.make_link(link) # elif block.exitswitch is c_last_exception: diff --git a/pypy/jit/codewriter/policy.py b/pypy/jit/codewriter/policy.py --- a/pypy/jit/codewriter/policy.py +++ b/pypy/jit/codewriter/policy.py @@ -48,7 +48,7 @@ mod = func.__module__ or '?' if mod.startswith('pypy.rpython.module.'): return True - if mod.startswith('pypy.translator.'): # XXX wtf? + if mod == 'pypy.translator.goal.nanos': # more helpers return True return False diff --git a/pypy/jit/metainterp/test/test_ajit.py b/pypy/jit/metainterp/test/test_ajit.py --- a/pypy/jit/metainterp/test/test_ajit.py +++ b/pypy/jit/metainterp/test/test_ajit.py @@ -3706,6 +3706,18 @@ # here it works again self.check_operations_history(guard_class=0, record_known_class=1) + def test_generator(self): + def g(n): + yield n+1 + yield n+2 + yield n+3 + def f(n): + gen = g(n) + return gen.next() * gen.next() * gen.next() + res = self.interp_operations(f, [10]) + assert res == 11 * 12 * 13 + self.check_operations_history(int_add=3, int_mul=2) + class TestLLtype(BaseLLtypeTests, LLJitMixin): def test_tagged(self): diff --git a/pypy/translator/c/gc.py b/pypy/translator/c/gc.py --- a/pypy/translator/c/gc.py +++ b/pypy/translator/c/gc.py @@ -11,7 +11,6 @@ from pypy.translator.tool.cbuild import ExternalCompilationInfo class BasicGcPolicy(object): - stores_hash_at_the_end = False def __init__(self, db, thread_enabled=False): self.db = db @@ -47,8 +46,7 @@ return ExternalCompilationInfo( pre_include_bits=['/* using %s */' % (gct.__class__.__name__,), '#define MALLOC_ZERO_FILLED %d' % (gct.malloc_zero_filled,), - ], - post_include_bits=['typedef void *GC_hidden_pointer;'] + ] ) def get_prebuilt_hash(self, obj): @@ -308,7 +306,6 @@ class FrameworkGcPolicy(BasicGcPolicy): transformerclass = framework.FrameworkGCTransformer - stores_hash_at_the_end = True def struct_setup(self, structdefnode, rtti): if rtti is not None and hasattr(rtti._obj, 'destructor_funcptr'): _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit