[pypy-issue] Issue #2771: Minimal support for __slots__ (pypy/pypy)

2018-03-03 Thread Hrvoje Nikšić
New issue 2771: Minimal support for __slots__ https://bitbucket.org/pypy/pypy/issues/2771/minimal-support-for-__slots__ Hrvoje Nikšić: While experimenting with PyPy on our company code base, I found that ignoring `__slots__` is a source of incompatibility with CPython. I understand why

[pypy-issue] Issue #2779: Performance loss with deeply nested generators (pypy/pypy)

2018-03-29 Thread Hrvoje Nikšić
New issue 2779: Performance loss with deeply nested generators https://bitbucket.org/pypy/pypy/issues/2779/performance-loss-with-deeply-nested Hrvoje Nikšić: PyPy (5.10.1) is significantly slower than CPython (3.6.3) on the attached benchmark. The script profiles traversing generators nested

[pypy-issue] Issue #2798: Creating a global-variable PyObject in a C++ extension crashes while dlopening (pypy/pypy)

2018-04-16 Thread Hrvoje Nikšić
New issue 2798: Creating a global-variable PyObject in a C++ extension crashes while dlopening https://bitbucket.org/pypy/pypy/issues/2798/creating-a-global-variable-pyobject-in-a-c Hrvoje Nikšić: The attached module crashes when compiled and imported from pypy 5.10.0. The crash is apparently

[pypy-issue] Issue #2817: Py_GCC_ATTRIBUTE missing (pypy/pypy)

2018-05-03 Thread Hrvoje Nikšić
New issue 2817: Py_GCC_ATTRIBUTE missing https://bitbucket.org/pypy/pypy/issues/2817/py_gcc_attribute-missing Hrvoje Nikšić: The `Py_GCC_ATTRIBUTE` macro is missing from the C API emulation headers. While it is not strictly a part of the Python/C API as it's not documented, it also doe

[pypy-issue] Issue #2818: __module__ read-only for PyCFunction objects (pypy/pypy)

2018-05-03 Thread Hrvoje Nikšić
New issue 2818: __module__ read-only for PyCFunction objects https://bitbucket.org/pypy/pypy/issues/2818/__module__-read-only-for-pycfunction Hrvoje Nikšić: Our CPython extensions sometimes create functions in C and modify their `__module__` later. This is needed because those functions are

[pypy-issue] Issue #2819: PyObject_TypeCheck requires argument to have ob_type (pypy/pypy)

2018-05-03 Thread Hrvoje Nikšić
New issue 2819: PyObject_TypeCheck requires argument to have ob_type https://bitbucket.org/pypy/pypy/issues/2819/pyobject_typecheck-requires-argument-to Hrvoje Nikšić: PyPy defines `PyObject_TypeCheck` as: ``` #define PyObject_TypeCheck(ob, tp) \ ((ob)->ob_type == (tp) || PyType_IsSubt

[pypy-issue] Issue #2820: Py_ReprEnter and Py_ReprLeave not implemented (pypy/pypy)

2018-05-03 Thread Hrvoje Nikšić
New issue 2820: Py_ReprEnter and Py_ReprLeave not implemented https://bitbucket.org/pypy/pypy/issues/2820/py_reprenter-and-py_reprleave-not Hrvoje Nikšić: The Python/C emulation does not currently include an implementation of PyRepr_Enter and PyRepr_Leave. Our in-house extensions use them, so

[pypy-issue] Issue #2821: _PyObject_GC_Malloc missing from the C API emulation layer (pypy/pypy)

2018-05-03 Thread Hrvoje Nikšić
New issue 2821: _PyObject_GC_Malloc missing from the C API emulation layer https://bitbucket.org/pypy/pypy/issues/2821/_pyobject_gc_malloc-missing-from-the-c-api Hrvoje Nikšić: Although technically a private function, `_PyObject_GC_Malloc` is currently the only way to implement an object with

[pypy-issue] Issue #2822: Py_IS_NAN, Py_IS_FINITE, Py_IS_INFINITY missing (pypy/pypy)

2018-05-04 Thread Hrvoje Nikšić
New issue 2822: Py_IS_NAN, Py_IS_FINITE, Py_IS_INFINITY missing https://bitbucket.org/pypy/pypy/issues/2822/py_is_nan-py_is_finite-py_is_infinity Hrvoje Nikšić: Some C extensions use `Py_IS_NAN`, `Py_IS_FINITE`, and `Py_IS_INFINITY` as portable means to access those properties across platforms

[pypy-issue] Issue #2823: Marshal C API missing from Python/C emulation (pypy/pypy)

2018-05-04 Thread Hrvoje Nikšić
New issue 2823: Marshal C API missing from Python/C emulation https://bitbucket.org/pypy/pypy/issues/2823/marshal-c-api-missing-from-python-c Hrvoje Nikšić: While evaluating PyPy for in-house C extensions, we noticed that the `PyMarshal_ReadObjectFromString` is missing. We use the marshal API