[pypy-commit] pypy win64-stage1: Merge with default (4 weeks)
ctismer
noreply at buildbot.pypy.org
Tue Mar 13 00:31:14 CET 2012
Author: Christian Tismer <tismer at 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'):
More information about the pypy-commit
mailing list