These are chat archives for dropbox/pyston

21st
Sep 2015
Marius Wachtler
@undingen
Sep 21 2015 12:20
I'm wondering if we have to call fixup_slot_dispatchers in PyType_Ready because otherwise this flags will AFAIK never get updated for CAPI types
    FLSLOT("__instancecheck__", has_instancecheck, NULL, NULL, "", PyWrapperFlag_BOOL),
    FLSLOT("__subclasscheck__", has_subclasscheck, NULL, NULL, "", PyWrapperFlag_BOOL),
    FLSLOT("__getattribute__", has_getattribute, NULL, NULL, "", PyWrapperFlag_BOOL),
Marius Wachtler
@undingen
Sep 21 2015 14:39
For example this will currently assert:
import weakref
class C(object):
    pass
c = C()
p = weakref.proxy(c)
print isinstance(p, int)
because weakref proxy has a custom tp_getattro but has_getattribute is false
Marius Wachtler
@undingen
Sep 21 2015 19:28
This message was deleted
mmh pressed the wrong button...
@rudi-c do we support extensions which set tp_del? (we have RELEASE_ASSERT(cls->tp_del == NULL, ""); inside PyType_Ready but I thought we may support it already thanks to your work)
Kevin Modzelewski
@kmod
Sep 21 2015 21:53
oh interesting (re those slots)
I don't think we should do everything that fixup_slot_dispatchers does, but I think we need to set those somehow
I'll take a look
Marius Wachtler
@undingen
Sep 21 2015 21:54
ok :-)
Marius Wachtler
@undingen
Sep 21 2015 21:59
lxml needs a few more threading functions. They are not yet finished (I'm encountering some deadlock issues) but after this lxml should look good (a few test errors but by far most of the tests pass)