[pypy-commit] pypy unicode-utf8: merge default into unicode-utf8

mattip pypy.commits at gmail.com
Wed Jan 23 09:46:20 EST 2019


Author: Matti Picus <matti.picus at gmail.com>
Branch: unicode-utf8
Changeset: r95703:f68e17e4136e
Date: 2019-01-23 16:30 +0200
http://bitbucket.org/pypy/pypy/changeset/f68e17e4136e/

Log:	merge default into unicode-utf8

diff --git a/pypy/module/gc/__init__.py b/pypy/module/gc/__init__.py
--- a/pypy/module/gc/__init__.py
+++ b/pypy/module/gc/__init__.py
@@ -4,7 +4,6 @@
 class Module(MixedModule):
     interpleveldefs = {
         'collect': 'interp_gc.collect',
-        'collect_step': 'interp_gc.collect_step',
         'enable': 'interp_gc.enable',
         'disable': 'interp_gc.disable',
         'isenabled': 'interp_gc.isenabled',
@@ -23,6 +22,7 @@
                 'get_stats': 'app_referents.get_stats',
                 })
             self.interpleveldefs.update({
+                'collect_step': 'interp_gc.collect_step',
                 'get_rpy_roots': 'referents.get_rpy_roots',
                 'get_rpy_referents': 'referents.get_rpy_referents',
                 'get_rpy_memory_usage': 'referents.get_rpy_memory_usage',
diff --git a/rpython/jit/metainterp/test/test_zvector.py b/rpython/jit/metainterp/test/test_zvector.py
--- a/rpython/jit/metainterp/test/test_zvector.py
+++ b/rpython/jit/metainterp/test/test_zvector.py
@@ -81,56 +81,41 @@
         if not self.supports_vector_ext():
             py.test.skip("this cpu %s has no implemented vector backend" % CPU)
 
-    def meta_interp(self, f, args, policy=None, vec=True, vec_all=False):
-        return ll_meta_interp(f, args, enable_opts=self.enable_opts,
-                              policy=policy,
-                              CPUClass=self.CPUClass,
-                              type_system=self.type_system,
-                              vec=vec, vec_all=vec_all)
-
     # FLOAT UNARY
 
-    def _vector_float_unary(self, func, type, data):
+    @pytest.mark.parametrize('func',
+        [lambda v: abs(v), lambda v: -v],
+        ids=['abs', 'neg'])
+    @given(la=st.lists(st.floats(), min_size=10, max_size=150))
+    def test_vector_float_unary(self, func, la):
         func = always_inline(func)
+        tp = rffi.DOUBLE
 
-        size = rffi.sizeof(type)
-        myjitdriver = JitDriver(greens = [], reds = 'auto', vectorize=True)
+        size = rffi.sizeof(tp)
+        myjitdriver = JitDriver(greens=[], reds='auto', vectorize=True)
+
         def f(bytecount, va, vc):
             i = 0
             while i < bytecount:
                 myjitdriver.jit_merge_point()
-                a = raw_storage_getitem(type,va,i)
+                a = raw_storage_getitem(tp, va, i)
                 c = func(a)
-                raw_storage_setitem(vc, i, rffi.cast(type,c))
+                raw_storage_setitem(vc, i, rffi.cast(tp, c))
                 i += size
 
-        la = data.draw(st.lists(st.floats(), min_size=10, max_size=150))
         l = len(la)
-
         rawstorage = RawStorage()
-        va = rawstorage.new(la, type)
-        vc = rawstorage.new(None, type, size=l)
-        self.meta_interp(f, [l*size, va, vc], vec=True)
+        va = rawstorage.new(la, tp)
+        vc = rawstorage.new(None, tp, size=l)
+        self.meta_interp(f, [l * size, va, vc], vec=True)
 
         for i in range(l):
-            c = raw_storage_getitem(type,vc,i*size)
+            c = raw_storage_getitem(tp, vc, i * size)
             r = func(la[i])
             assert isclose(r, c)
 
         rawstorage.clear()
 
-    def vec_int_unary(test_func, unary_func, type):
-        return pytest.mark.parametrize('func,type', [
-            (unary_func, type)
-        ])(given(data=st.data())(test_func))
-
-    vec_float_unary = functools.partial(vec_int_unary, _vector_float_unary)
-
-    test_vec_float_abs = \
-            vec_float_unary(lambda v: abs(v), rffi.DOUBLE)
-    test_vec_float_neg = \
-            vec_float_unary(lambda v: -v, rffi.DOUBLE)
-
     # FLOAT BINARY
 
     def _vector_simple_float(self, func, type, data):
@@ -376,38 +361,37 @@
         res = self.meta_interp(f, [count], vec=True)
         assert res == f(count) == breaks
 
-    def _vec_reduce(self, strat, func, type, data):
-        func = always_inline(func)
+    def vec_reduce(strat, arith_func, tp):
+        @pytest.mark.parametrize('func, tp', [
+            (arith_func, tp)
+        ])
+        @given(la=st.lists(strat, min_size=11, max_size=150))
+        def _vec_reduce(self, func, tp, la):
+            func = always_inline(func)
 
-        size = rffi.sizeof(type)
-        myjitdriver = JitDriver(greens = [], reds = 'auto', vectorize=True)
-        def f(accum, bytecount, v):
-            i = 0
-            while i < bytecount:
-                myjitdriver.jit_merge_point()
-                e = raw_storage_getitem(type,v,i)
-                accum = func(accum,e)
-                i += size
-            return accum
+            size = rffi.sizeof(tp)
+            myjitdriver = JitDriver(greens=[], reds='auto', vectorize=True)
 
-        la = data.draw(st.lists(strat, min_size=10, max_size=150))
-        #la = [1.0] * 10
-        l = len(la)
+            def f(accum, bytecount, v):
+                i = 0
+                while i < bytecount:
+                    myjitdriver.jit_merge_point()
+                    e = raw_storage_getitem(tp, v, i)
+                    accum = func(accum, e)
+                    i += size
+                return accum
 
-        accum = data.draw(strat)
-        rawstorage = RawStorage()
-        va = rawstorage.new(la, type)
-        res = self.meta_interp(f, [accum, l*size, va], vec=True)
+            accum = la[0]
+            la = la[1:]
+            l = len(la)
+            rawstorage = RawStorage()
+            va = rawstorage.new(la, tp)
+            res = self.meta_interp(f, [accum, l * size, va], vec=True)
 
-        assert isclose(rffi.cast(type, res), f(accum, l*size, va))
+            assert isclose(rffi.cast(tp, res), f(accum, l * size, va))
 
-        rawstorage.clear()
-
-    def vec_reduce(test_func, strat, arith_func, type):
-        return pytest.mark.parametrize('strat,func,type', [
-            (strat, arith_func, type)
-        ])(given(data=st.data())(test_func))
-    vec_reduce = functools.partial(vec_reduce, _vec_reduce)
+            rawstorage.clear()
+        return _vec_reduce
 
     test_vec_int_sum = vec_reduce(st.integers(min_value=-2**(64-1), max_value=2**(64-1)-1),
                              lambda a,b: lltype.intmask(lltype.intmask(a)+lltype.intmask(b)), lltype.Signed)
diff --git a/rpython/memory/gc/test/test_direct.py b/rpython/memory/gc/test/test_direct.py
--- a/rpython/memory/gc/test/test_direct.py
+++ b/rpython/memory/gc/test/test_direct.py
@@ -774,7 +774,7 @@
     def test_collect_0(self, debuglog):
         self.gc.collect(1) # start a major
         debuglog.reset()
-        self.gc.collect(0) # do ONLY a minor
+        self.gc.collect(-1) # do ONLY a minor
         assert debuglog.summary() == {'gc-minor': 1}
 
     def test_enable_disable(self, debuglog):
diff --git a/rpython/rtyper/test/test_rdict.py b/rpython/rtyper/test/test_rdict.py
--- a/rpython/rtyper/test/test_rdict.py
+++ b/rpython/rtyper/test/test_rdict.py
@@ -1,6 +1,7 @@
 import sys
 from contextlib import contextmanager
 import signal
+from collections import OrderedDict
 
 from rpython.translator.translator import TranslationContext
 from rpython.annotator.model import (
@@ -1196,7 +1197,7 @@
                         DictValue(None, s_value))
         dictrepr.setup()
         self.l_dict = self.newdict(dictrepr)
-        self.reference = self.new_reference()
+        self.reference = OrderedDict()
         self.ll_key = r_key.convert_const
         self.ll_value = r_value.convert_const
         self.removed_keys = []
@@ -1323,7 +1324,6 @@
 
 class DictSpace(MappingSpace):
     MappingRepr = rdict.DictRepr
-    new_reference = dict
     ll_getitem = staticmethod(rdict.ll_dict_getitem)
     ll_setitem = staticmethod(rdict.ll_dict_setitem)
     ll_delitem = staticmethod(rdict.ll_dict_delitem)
diff --git a/rpython/rtyper/test/test_rordereddict.py b/rpython/rtyper/test/test_rordereddict.py
--- a/rpython/rtyper/test/test_rordereddict.py
+++ b/rpython/rtyper/test/test_rordereddict.py
@@ -422,7 +422,6 @@
 
 class ODictSpace(MappingSpace):
     MappingRepr = rodct.OrderedDictRepr
-    new_reference = OrderedDict
     moved_around = False
     ll_getitem = staticmethod(rodct.ll_dict_getitem)
     ll_setitem = staticmethod(rodct.ll_dict_setitem)
diff --git a/rpython/translator/c/src/mem.h b/rpython/translator/c/src/mem.h
--- a/rpython/translator/c/src/mem.h
+++ b/rpython/translator/c/src/mem.h
@@ -112,6 +112,8 @@
 #define OP_GC__DISABLE_FINALIZERS(r)  boehm_gc_finalizer_lock++
 #define OP_GC__ENABLE_FINALIZERS(r)  (boehm_gc_finalizer_lock--,	\
 				      boehm_gc_finalizer_notifier())
+#define OP_GC__DISABLE(r)             /* nothing */
+#define OP_GC__ENABLE(r)              /* nothing */
 
 #define OP_BOEHM_FQ_REGISTER(tagindex, obj, r)                          \
     boehm_fq_register(boehm_fq_queues + tagindex, obj)
@@ -127,6 +129,8 @@
 #define OP_BOEHM_DISAPPEARING_LINK(link, obj, r)  /* nothing */
 #define OP_GC__DISABLE_FINALIZERS(r)  /* nothing */
 #define OP_GC__ENABLE_FINALIZERS(r)  /* nothing */
+#define OP_GC__DISABLE(r)             /* nothing */
+#define OP_GC__ENABLE(r)              /* nothing */
 #define GC_REGISTER_FINALIZER(a, b, c, d, e)  /* nothing */
 #define GC_gcollect()  /* nothing */
 #define GC_set_max_heap_size(a)  /* nothing */
diff --git a/rpython/translator/platform/windows.py b/rpython/translator/platform/windows.py
--- a/rpython/translator/platform/windows.py
+++ b/rpython/translator/platform/windows.py
@@ -86,7 +86,7 @@
             else:
                 log.msg('Running "%s" succeeded' %(vcvars,))
         except Exception as e:
-            log.msg('Running "%s" failed: "%s"', (vcvars, str(e)))
+            log.msg('Running "%s" failed: "%s"' % (vcvars, str(e)))
             return None
 
         stdout = stdout.replace("\r\n", "\n")


More information about the pypy-commit mailing list