[pypy-dev] PyCXX and PyPy status

Barry Scott barry at barrys-emacs.org
Sun Oct 7 12:05:25 EDT 2018



> On 3 Oct 2018, at 20:30, Ronan Lamy <ronan.lamy at gmail.com> wrote:
> 
> Le 02/10/18 à 21:55, Armin Rigo a écrit :
> 
>>>              if (PyMapping_DelItemString (ptr(), const_cast<char*>(s.c_str())) == -1)
>>>              if (PyMapping_DelItem (ptr(), *s) == -1)
>> I don't know how it ever worked, because PyMapping_DelItem and
>> PyMapping_DelItemString are not implemented, neither right now nor at
>> the time of release 6.0.0.
>> If you are using these two functions, please open an issue
>> (https://bitbucket.org/pypy/pypy/issues?status=new&status=open) and
>> we'll implement them.
> 
> I just implemented these in https://bitbucket.org/pypy/pypy/commits/a5735c0b1edd6e5e16dc7015facf2131fed6188d <https://bitbucket.org/pypy/pypy/commits/a5735c0b1edd6e5e16dc7015facf2131fed6188d>


Thanks I'm compiling again.

I see that the .so will not be found unless I use the .pypy-41.so suffix.
Where does the 41 come from?

I'm getting further. I have changed the details of how I create tuples
to make progress. I will go back and figure out the impact on my users later.

I'm now getting a lot further.

Module has completed init.
Old style classes seem to be working.
But new style classes are not working.

When I make a new style class its type has the following tp_flags:

(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?

Since Py_TPFLAGS_BASETYPE has gone from 1 to 0.
I crash because I assume the wrong type of class and access a pointer
that is not there.

Thoughts?

Barry

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/pypy-dev/attachments/20181007/6974e7e5/attachment.html>


More information about the pypy-dev mailing list