Author: Armin Rigo <[email protected]>
Branch: cpyext-gc-support
Changeset: r80406:33900512eefb
Date: 2015-10-23 12:24 +0200
http://bitbucket.org/pypy/pypy/changeset/33900512eefb/

Log:    more of the same

diff --git a/pypy/module/cpyext/dictobject.py b/pypy/module/cpyext/dictobject.py
--- a/pypy/module/cpyext/dictobject.py
+++ b/pypy/module/cpyext/dictobject.py
@@ -3,7 +3,6 @@
     cpython_api, CANNOT_FAIL, build_type_checkers, Py_ssize_t,
     Py_ssize_tP, CONST_STRING)
 from pypy.module.cpyext.pyobject import PyObject, PyObjectP
-from pypy.module.cpyext.pyobject import RefcountState
 from pypy.module.cpyext.pyerrors import PyErr_BadInternalCall
 from pypy.interpreter.error import OperationError
 from pypy.objspace.std.dictmultiobject import W_DictMultiObject
diff --git a/pypy/module/cpyext/object.py b/pypy/module/cpyext/object.py
--- a/pypy/module/cpyext/object.py
+++ b/pypy/module/cpyext/object.py
@@ -7,7 +7,7 @@
     Py_GE, CONST_STRING, FILEP, fwrite)
 from pypy.module.cpyext.pyobject import (
     PyObject, PyObjectP, create_ref, from_pyobj, Py_IncRef, Py_DecRef,
-    track_reference, get_typedescr, _Py_NewReference, RefcountState)
+    track_reference, get_typedescr, _Py_NewReference)
 from pypy.module.cpyext.typeobject import PyTypeObjectPtr
 from pypy.module.cpyext.pyerrors import PyErr_NoMemory, PyErr_BadInternalCall
 from pypy.objspace.std.typeobject import W_TypeObject
diff --git a/pypy/module/cpyext/pyobject.py b/pypy/module/cpyext/pyobject.py
--- a/pypy/module/cpyext/pyobject.py
+++ b/pypy/module/cpyext/pyobject.py
@@ -23,7 +23,6 @@
     print "ZZZ: make_typedescr(%r)" % (arg0,)
 def get_typedescr(*args, **kwds):
     ZZZ
-RefcountState = "ZZZ"
 
 RRC_PERMANENT       = 'P'  # the link pyobj<->pypy is permanent
 RRC_PERMANENT_LIGHT = 'p'  # same, but tp_dealloc can be replaced with free()
diff --git a/pypy/module/cpyext/state.py b/pypy/module/cpyext/state.py
--- a/pypy/module/cpyext/state.py
+++ b/pypy/module/cpyext/state.py
@@ -75,11 +75,11 @@
         "This function is called when the program really starts"
 
         from pypy.module.cpyext.typeobject import setup_new_method_def
-        from pypy.module.cpyext.pyobject import RefcountState
         from pypy.module.cpyext.api import INIT_FUNCTIONS
 
         setup_new_method_def(space)
         if we_are_translated():
+            ZZZ
             refcountstate = space.fromcache(RefcountState)
             refcountstate.init_r2w_from_w2r()
             rawrefcount.init(lambda ob: ZZZ)
diff --git a/pypy/module/cpyext/test/test_cpyext.py 
b/pypy/module/cpyext/test/test_cpyext.py
--- a/pypy/module/cpyext/test/test_cpyext.py
+++ b/pypy/module/cpyext/test/test_cpyext.py
@@ -14,7 +14,7 @@
 from rpython.tool.udir import udir
 from pypy.module.cpyext import api
 from pypy.module.cpyext.state import State
-from pypy.module.cpyext.pyobject import RefcountState, debug_collect
+from pypy.module.cpyext.pyobject import debug_collect
 from pypy.module.cpyext.pyobject import Py_DecRef
 from rpython.tool.identity_dict import identity_dict
 from rpython.tool import leakfinder
@@ -112,6 +112,7 @@
 
     @staticmethod
     def cleanup_references(space):
+        ZZZ
         state = space.fromcache(RefcountState)
 
         import gc; gc.collect()
diff --git a/pypy/module/cpyext/test/test_dictobject.py 
b/pypy/module/cpyext/test/test_dictobject.py
--- a/pypy/module/cpyext/test/test_dictobject.py
+++ b/pypy/module/cpyext/test/test_dictobject.py
@@ -1,7 +1,7 @@
 from rpython.rtyper.lltypesystem import rffi, lltype
 from pypy.module.cpyext.test.test_api import BaseApiTest
 from pypy.module.cpyext.api import Py_ssize_tP, PyObjectP
-from pypy.module.cpyext.pyobject import make_ref, from_ref
+from pypy.module.cpyext.pyobject import from_pyobj
 from pypy.interpreter.error import OperationError
 
 class TestDictObject(BaseApiTest):
@@ -99,8 +99,8 @@
         try:
             w_copy = space.newdict()
             while api.PyDict_Next(w_dict, ppos, pkey, pvalue):
-                w_key = from_ref(space, pkey[0])
-                w_value = from_ref(space, pvalue[0])
+                w_key = from_pyobj(space, pkey[0])
+                w_value = from_pyobj(space, pvalue[0])
                 space.setitem(w_copy, w_key, w_value)
         finally:
             lltype.free(ppos, flavor='raw')
@@ -125,11 +125,11 @@
         try:
             ppos[0] = 0
             while api.PyDict_Next(w_dict, ppos, pkey, None):
-                w_key = from_ref(space, pkey[0])
+                w_key = from_pyobj(space, pkey[0])
                 keys_w.append(w_key)
             ppos[0] = 0
             while api.PyDict_Next(w_dict, ppos, None, pvalue):
-                w_value = from_ref(space, pvalue[0])
+                w_value = from_pyobj(space, pvalue[0])
                 values_w.append(w_value)
         finally:
             lltype.free(ppos, flavor='raw')
diff --git a/pypy/module/cpyext/test/test_funcobject.py 
b/pypy/module/cpyext/test/test_funcobject.py
--- a/pypy/module/cpyext/test/test_funcobject.py
+++ b/pypy/module/cpyext/test/test_funcobject.py
@@ -1,7 +1,7 @@
 from rpython.rtyper.lltypesystem import rffi, lltype
 from pypy.module.cpyext.test.test_cpyext import AppTestCpythonExtensionBase
 from pypy.module.cpyext.test.test_api import BaseApiTest
-from pypy.module.cpyext.pyobject import PyObject, make_ref, from_ref
+from pypy.module.cpyext.pyobject import PyObject, as_pyobj, from_pyobj
 from pypy.module.cpyext.funcobject import (
     PyFunctionObject, PyCodeObject, CODE_FLAGS)
 from pypy.interpreter.function import Function, Method
@@ -15,12 +15,11 @@
             def f(): pass
             return f
         """)
-        ref = make_ref(space, w_function)
-        assert (from_ref(space, rffi.cast(PyObject, ref.c_ob_type)) is
+        ref = as_pyobj(space, w_function)
+        assert (from_pyobj(space, rffi.cast(PyObject, ref.c_ob_type)) is
                 space.gettypeobject(Function.typedef))
         assert "f" == space.unwrap(
-           from_ref(space, rffi.cast(PyFunctionObject, ref).c_func_name))
-        api.Py_DecRef(ref)
+           from_pyobj(space, rffi.cast(PyFunctionObject, ref).c_func_name))
 
     def test_method(self, space, api):
         w_method = space.appexec([], """():
@@ -48,13 +47,12 @@
         w_code = api.PyFunction_GetCode(w_function)
         assert w_code.co_name == "func"
 
-        ref = make_ref(space, w_code)
-        assert (from_ref(space, rffi.cast(PyObject, ref.c_ob_type)) is
+        ref = as_pyobj(space, w_code)
+        assert (from_pyobj(space, rffi.cast(PyObject, ref.c_ob_type)) is
                 space.gettypeobject(PyCode.typedef))
         assert "func" == space.unwrap(
-           from_ref(space, rffi.cast(PyCodeObject, ref).c_co_name))
+           from_pyobj(space, rffi.cast(PyCodeObject, ref).c_co_name))
         assert 3 == rffi.cast(PyCodeObject, ref).c_co_argcount
-        api.Py_DecRef(ref)
 
     def test_co_flags(self, space, api):
         def get_flags(signature, body="pass"):
@@ -62,9 +60,8 @@
                 def func(%s): %s
                 return func.__code__
             """ % (signature, body))
-            ref = make_ref(space, w_code)
+            ref = as_pyobj(space, w_code)
             co_flags = rffi.cast(PyCodeObject, ref).c_co_flags
-            api.Py_DecRef(ref)
             return co_flags
         assert get_flags("x") == CO_NESTED | CO_OPTIMIZED | CO_NEWLOCALS
         assert get_flags("x", "exec x") == CO_NESTED | CO_NEWLOCALS
diff --git a/pypy/module/cpyext/test/test_methodobject.py 
b/pypy/module/cpyext/test/test_methodobject.py
--- a/pypy/module/cpyext/test/test_methodobject.py
+++ b/pypy/module/cpyext/test/test_methodobject.py
@@ -2,7 +2,7 @@
 from pypy.module.cpyext.test.test_cpyext import AppTestCpythonExtensionBase
 from pypy.module.cpyext.methodobject import PyMethodDef
 from pypy.module.cpyext.api import ApiFunction
-from pypy.module.cpyext.pyobject import PyObject, make_ref, Py_DecRef
+from pypy.module.cpyext.pyobject import PyObject, Py_DecRef
 from pypy.module.cpyext.methodobject import (
     PyDescr_NewMethod, PyCFunction_typedef)
 from rpython.rtyper.lltypesystem import rffi, lltype
diff --git a/pypy/module/cpyext/test/test_pystate.py 
b/pypy/module/cpyext/test/test_pystate.py
--- a/pypy/module/cpyext/test/test_pystate.py
+++ b/pypy/module/cpyext/test/test_pystate.py
@@ -2,7 +2,6 @@
 from pypy.module.cpyext.test.test_api import BaseApiTest
 from rpython.rtyper.lltypesystem.lltype import nullptr
 from pypy.module.cpyext.pystate import PyInterpreterState, PyThreadState
-from pypy.module.cpyext.pyobject import from_ref
 from rpython.rtyper.lltypesystem import lltype
 from pypy.module.cpyext.test.test_cpyext import LeakCheckingTest, 
freeze_refcnts
 from pypy.module.cpyext.pystate import PyThreadState_Get, 
PyInterpreterState_Head
diff --git a/pypy/module/cpyext/test/test_setobject.py 
b/pypy/module/cpyext/test/test_setobject.py
--- a/pypy/module/cpyext/test/test_setobject.py
+++ b/pypy/module/cpyext/test/test_setobject.py
@@ -1,6 +1,6 @@
 import py
 
-from pypy.module.cpyext.pyobject import PyObject, PyObjectP, make_ref, from_ref
+from pypy.module.cpyext.pyobject import PyObject, PyObjectP
 from pypy.module.cpyext.test.test_api import BaseApiTest
 from rpython.rtyper.lltypesystem import rffi, lltype
 
diff --git a/pypy/module/cpyext/test/test_traceback.py 
b/pypy/module/cpyext/test/test_traceback.py
--- a/pypy/module/cpyext/test/test_traceback.py
+++ b/pypy/module/cpyext/test/test_traceback.py
@@ -1,6 +1,6 @@
 from rpython.rtyper.lltypesystem import lltype, rffi
 from pypy.module.cpyext.test.test_api import BaseApiTest
-from pypy.module.cpyext.pyobject import PyObject, make_ref, from_ref
+from pypy.module.cpyext.pyobject import PyObject, as_pyobj, from_pyobj
 from pypy.module.cpyext.pytraceback import PyTracebackObject
 from pypy.interpreter.pytraceback import PyTraceback
 from pypy.interpreter.pyframe import PyFrame
@@ -14,9 +14,9 @@
             except:
                 return sys.exc_info()[2]
         """)
-        py_obj = make_ref(space, w_traceback)
+        py_obj = as_pyobj(space, w_traceback)
         py_traceback = rffi.cast(PyTracebackObject, py_obj)
-        assert (from_ref(space, rffi.cast(PyObject, py_traceback.c_ob_type)) is
+        assert (from_pyobj(space, rffi.cast(PyObject, py_traceback.c_ob_type)) 
is
                 space.gettypeobject(PyTraceback.typedef))
 
         traceback = space.interp_w(PyTraceback, w_traceback)
@@ -25,16 +25,14 @@
         assert space.eq_w(space.getattr(w_traceback, space.wrap("tb_lasti")),
                           space.wrap(py_traceback.c_tb_lasti))
         assert space.is_w(space.getattr(w_traceback, space.wrap("tb_frame")),
-                          from_ref(space, rffi.cast(PyObject,
+                          from_pyobj(space, rffi.cast(PyObject,
                                                     py_traceback.c_tb_frame)))
 
         while not space.is_w(w_traceback, space.w_None):
             assert space.is_w(
                 w_traceback,
-                from_ref(space, rffi.cast(PyObject, py_traceback)))
+                from_pyobj(space, rffi.cast(PyObject, py_traceback)))
             w_traceback = space.getattr(w_traceback, space.wrap("tb_next"))
             py_traceback = py_traceback.c_tb_next
 
         assert lltype.normalizeptr(py_traceback) is None
-
-        api.Py_DecRef(py_obj)
diff --git a/pypy/module/cpyext/test/test_typeobject.py 
b/pypy/module/cpyext/test/test_typeobject.py
--- a/pypy/module/cpyext/test/test_typeobject.py
+++ b/pypy/module/cpyext/test/test_typeobject.py
@@ -1,7 +1,7 @@
 from rpython.rtyper.lltypesystem import rffi, lltype
 from pypy.module.cpyext.test.test_cpyext import AppTestCpythonExtensionBase
 from pypy.module.cpyext.test.test_api import BaseApiTest
-from pypy.module.cpyext.pyobject import PyObject, make_ref, from_ref
+from pypy.module.cpyext.pyobject import PyObject, as_pyobj, from_pyobj
 from pypy.module.cpyext.typeobject import PyTypeObjectPtr
 
 import py
@@ -332,13 +332,11 @@
                 pass
             return A
             """)
-        ref = make_ref(space, w_class)
+        ref = as_pyobj(space, w_class)
 
         py_type = rffi.cast(PyTypeObjectPtr, ref)
         assert py_type.c_tp_alloc
-        assert from_ref(space, py_type.c_tp_mro).wrappeditems is w_class.mro_w
-
-        api.Py_DecRef(ref)
+        assert from_pyobj(space, py_type.c_tp_mro).wrappeditems is 
w_class.mro_w
 
     def test_multiple_inheritance(self, space, api):
         w_class = space.appexec([], """():
@@ -350,8 +348,7 @@
                 pass
             return C
             """)
-        ref = make_ref(space, w_class)
-        api.Py_DecRef(ref)
+        ref = as_pyobj(space, w_class)
 
     def test_lookup(self, space, api):
         w_type = space.w_str
@@ -366,8 +363,7 @@
         w_obj = space.appexec([], """():
             import _numpypy
             return _numpypy.multiarray.dtype('int64').type(2)""")
-        ref = make_ref(space, w_obj)
-        api.Py_DecRef(ref)
+        ref = as_pyobj(space, w_obj)
 
 class AppTestSlots(AppTestCpythonExtensionBase):
     def test_some_slots(self):
diff --git a/pypy/module/cpyext/test/test_unicodeobject.py 
b/pypy/module/cpyext/test/test_unicodeobject.py
--- a/pypy/module/cpyext/test/test_unicodeobject.py
+++ b/pypy/module/cpyext/test/test_unicodeobject.py
@@ -4,7 +4,7 @@
 from pypy.module.cpyext.unicodeobject import (
     Py_UNICODE, PyUnicodeObject, new_empty_unicode)
 from pypy.module.cpyext.api import PyObjectP, PyObject
-from pypy.module.cpyext.pyobject import Py_DecRef, from_ref
+from pypy.module.cpyext.pyobject import Py_DecRef, from_pyobj
 from rpython.rtyper.lltypesystem import rffi, lltype
 import sys, py
 
@@ -147,7 +147,7 @@
         assert space.unwrap(w_res) == u'sp&#65533;m'
 
         res = api.PyUnicode_FromStringAndSize(s, 4)
-        w_res = from_ref(space, res)
+        w_res = from_pyobj(space, res)
         api.Py_DecRef(res)
         assert space.unwrap(w_res) == u'sp&#65533;'
         rffi.free_charp(s)
diff --git a/pypy/module/cpyext/typeobject.py b/pypy/module/cpyext/typeobject.py
--- a/pypy/module/cpyext/typeobject.py
+++ b/pypy/module/cpyext/typeobject.py
@@ -22,7 +22,7 @@
 from pypy.module.cpyext.pyobject import (
     PyObject, create_ref, get_typedescr, from_pyobj, as_pyobj,
     setup_class_for_cpyext, get_pyobj_and_incref, get_pyobj_and_xincref,
-    track_reference, RefcountState, Py_DecRef, RRC_PERMANENT)
+    track_reference, Py_DecRef, RRC_PERMANENT)
 from pypy.module.cpyext.slotdefs import (
     slotdefs_for_tp_slots, slotdefs_for_wrappers, get_slot_tp_function)
 from pypy.module.cpyext.state import State
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to