[pypy-dev] PyCXX and PyPy status

Barry Scott barry at barrys-emacs.org
Sat Oct 27 10:22:47 EDT 2018



> On 8 Oct 2018, at 22:40, Armin Rigo <armin.rigo at gmail.com> wrote:
> 
> Hi,
> 
> On Sun, 7 Oct 2018 at 18:05, Barry Scott <barry at barrys-emacs.org> wrote:
>> (gdb) p/x table->tp_flags
>> $4 = 0x201eb
>> 
>> But when the instance comes back to me they are:
>> 
>> (gdb) p/x self->ob_type->tp_flags
>> $11 = 0x1208
>> 
>> Surely the flags should not have been changed?
> 
> Some flags change in CPython too.  The change you're seeing might be
> correct, or it might not be---although I agree that the bits in the
> two values are very different.  But it's hard for us to know at this
> point without knowing what you are doing exactly.  You may be using
> only the standard parts of the CPython C API, or instead be using
> completely internal details.

To my knowledge I'm not using internal APIs.

>  Can you try to extract a small CPython
> extension module as C code, containing the usual kind of PyTypeObject
> definitions and calls to some PyXxx() functions, and which behaves
> differently on CPython and on PyPy?  That would help us understand the
> problem.

Where is your test code for the this feature? I could review/modify that
to help find a difference that may explain the problem.

If you have no test coverage for new-style-classes I would rather not write that code for you.

Instead I can document how to build the PyCXX test code to run against PyPy for you.
It is not difficult.

Barry





> 
> 
> A bientôt,
> 
> Armin.
> 



More information about the pypy-dev mailing list