Author: Matti Picus <matti.pi...@gmail.com> Branch: py3.5 Changeset: r94571:823fbc19cb92 Date: 2018-05-14 14:56 +0300 http://bitbucket.org/pypy/pypy/changeset/823fbc19cb92/
Log: merge default into py3.5 diff --git a/pypy/module/cpyext/api.py b/pypy/module/cpyext/api.py --- a/pypy/module/cpyext/api.py +++ b/pypy/module/cpyext/api.py @@ -1176,8 +1176,8 @@ '_PyPy_tuple_dealloc', [PyObject], lltype.Void, compilation_info=eci, _nowrapper=True) _, state.C.set_marker = rffi.CExternVariable( - Py_ssize_t, '_pypy_rawrefcount_w_marker_deallocating', - eci, _nowrapper=True, c_type='Py_ssize_t') + rffi.VOIDP, '_pypy_rawrefcount_w_marker_deallocating', + eci, _nowrapper=True, c_type='void *') state.C._PyPy_subtype_dealloc = rffi.llexternal( '_PyPy_subtype_dealloc', [PyObject], lltype.Void, compilation_info=eci, _nowrapper=True) diff --git a/pypy/module/cpyext/include/object.h b/pypy/module/cpyext/include/object.h --- a/pypy/module/cpyext/include/object.h +++ b/pypy/module/cpyext/include/object.h @@ -61,7 +61,7 @@ #endif PyAPI_FUNC(void) Py_IncRef(PyObject *); PyAPI_FUNC(void) Py_DecRef(PyObject *); -extern Py_ssize_t _pypy_rawrefcount_w_marker_deallocating; +extern void *_pypy_rawrefcount_w_marker_deallocating; PyAPI_FUNC(void) _Py_Dealloc(PyObject *); 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 @@ -410,7 +410,7 @@ if we_are_translated(): llptr = cast_instance_to_base_ptr(w_marker_deallocating) state = space.fromcache(State) - state.C.set_marker(rffi.cast(Py_ssize_t, llptr)) + state.C.set_marker(llptr) @cpython_api([rffi.VOIDP], lltype.Signed, error=CANNOT_FAIL) def _Py_HashPointer(space, ptr): diff --git a/pypy/module/cpyext/src/object.c b/pypy/module/cpyext/src/object.c --- a/pypy/module/cpyext/src/object.c +++ b/pypy/module/cpyext/src/object.c @@ -14,14 +14,14 @@ * tests we cannot call set_marker(), so we need to set a special value * directly here) */ -Py_ssize_t _pypy_rawrefcount_w_marker_deallocating = 0xDEADFFF; +void* _pypy_rawrefcount_w_marker_deallocating = (void*) 0xDEADFFF; void _Py_Dealloc(PyObject *obj) { PyTypeObject *pto = obj->ob_type; /* this is the same as rawrefcount.mark_deallocating() */ - obj->ob_pypy_link = _pypy_rawrefcount_w_marker_deallocating; + obj->ob_pypy_link = (Py_ssize_t)_pypy_rawrefcount_w_marker_deallocating; pto->tp_dealloc(obj); } diff --git a/pypy/module/cpyext/stubs.py b/pypy/module/cpyext/stubs.py --- a/pypy/module/cpyext/stubs.py +++ b/pypy/module/cpyext/stubs.py @@ -1222,13 +1222,6 @@ version indicates the file format.""" raise NotImplementedError -@cpython_api([PyObject, rffi.INT_real], PyObject) -def PyMarshal_WriteObjectToString(space, value, version): - """Return a string object containing the marshalled representation of value. - - version indicates the file format.""" - raise NotImplementedError - @cpython_api([FILE], lltype.Signed, error=-1) def PyMarshal_ReadLongFromFile(space, file): """Return a C long from the data stream in a FILE* opened @@ -1262,14 +1255,6 @@ (EOFError or TypeError) and returns NULL.""" raise NotImplementedError -@cpython_api([rffi.CCHARP, Py_ssize_t], PyObject) -def PyMarshal_ReadObjectFromString(space, string, len): - """Return a Python object from the data stream in a character buffer - containing len bytes pointed to by string. On error, sets the - appropriate exception (EOFError or TypeError) and returns - NULL.""" - raise NotImplementedError - @cpython_api([PyObject, rffi.INT_real, lltype.Char], PyObject) def PyMemoryView_GetContiguous(space, obj, buffertype, order): """Create a memoryview object to a contiguous chunk of memory (in either diff --git a/pypy/module/cpyext/test/test_marshal.py b/pypy/module/cpyext/test/test_marshal.py --- a/pypy/module/cpyext/test/test_marshal.py +++ b/pypy/module/cpyext/test/test_marshal.py @@ -6,8 +6,8 @@ module = self.import_extension('foo', [ ("mloads", "METH_O", """ - char *input = PyString_AsString(args); - Py_ssize_t length = PyString_Size(args); + char *input = PyBytes_AsString(args); + Py_ssize_t length = PyBytes_Size(args); return PyMarshal_ReadObjectFromString(input, length); """)], prologue='#include <marshal.h>') _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit