Author: Matti Picus <[email protected]>
Branch: cpyext-obj-stealing
Changeset: r91061:ab207c2b540b
Date: 2017-04-16 12:50 +0300
http://bitbucket.org/pypy/pypy/changeset/ab207c2b540b/
Log: comment out excessive Py_DecRef
diff --git a/pypy/module/cpyext/listobject.py b/pypy/module/cpyext/listobject.py
--- a/pypy/module/cpyext/listobject.py
+++ b/pypy/module/cpyext/listobject.py
@@ -48,11 +48,11 @@
This function "steals" a reference to item and discards a reference to
an item already in the list at the affected position.
"""
- Py_DecRef(space, w_item)
if not isinstance(w_list, W_ListObject):
PyErr_BadInternalCall(space)
if index < 0 or index >= w_list.length():
raise oefmt(space.w_IndexError, "list assignment index out of range")
+ #Py_DecRef(space, w_item)
w_list.setitem(index, w_item)
return 0
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
@@ -318,6 +318,10 @@
obj.c_ob_refcnt -= 1
if obj.c_ob_refcnt == 0:
_Py_Dealloc(space, obj)
+ #else:
+ # w_obj = rawrefcount.to_obj(W_Root, ref)
+ # if w_obj is not None:
+ # assert obj.c_ob_refcnt >= rawrefcount.REFCNT_FROM_PYPY
else:
get_w_obj_and_decref(space, obj)
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit