[pypy-commit] pypy cpyext-subclass-setattr: rework _cpyext_attach_pyobj (arigato)
mattip
pypy.commits at gmail.com
Wed Apr 4 15:38:01 EDT 2018
Author: Matti Picus <matti.picus at gmail.com>
Branch: cpyext-subclass-setattr
Changeset: r94237:ccfd28850680
Date: 2018-04-04 22:36 +0300
http://bitbucket.org/pypy/pypy/changeset/ccfd28850680/
Log: rework _cpyext_attach_pyobj (arigato)
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
@@ -60,10 +60,10 @@
def _cpyext_attach_pyobj(self, space, py_obj):
self._cpy_ref = py_obj
- rawrefcount.create_link_pyobj(self, py_obj)
+ rawrefcount.create_link_pypy(self, py_obj)
cls._cpyext_attach_pyobj = _cpyext_attach_pyobj
-add_direct_pyobj_storage(W_BaseCPyObject)
+add_direct_pyobj_storage(W_BaseCPyObject)
add_direct_pyobj_storage(W_TypeObject)
add_direct_pyobj_storage(W_NoneObject)
add_direct_pyobj_storage(W_BoolObject)
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
@@ -1,6 +1,6 @@
import os
-from rpython.rlib import jit
+from rpython.rlib import jit, rawrefcount
from rpython.rlib.objectmodel import specialize, we_are_translated
from rpython.rtyper.lltypesystem import rffi, lltype
@@ -517,6 +517,10 @@
self.w_doc = space.newtext(
rffi.charp2str(cts.cast('char*', pto.c_tp_doc)))
+ def _cpyext_attach_pyobj(self, space, py_obj):
+ self._cpy_ref = py_obj
+ rawrefcount.create_link_pyobj(self, py_obj)
+
@bootstrap_function
def init_typeobject(space):
make_typedescr(space.w_type.layout.typedef,
More information about the pypy-commit
mailing list