[pypy-commit] pypy py3.5: merge default into py3.5
mattip
pypy.commits at gmail.com
Mon May 14 08:00:05 EDT 2018
Author: Matti Picus <matti.picus at 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
- at 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
- at 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>')
More information about the pypy-commit
mailing list