These are chat archives for dropbox/pyston

15th
Aug 2015
Sun
@Daetalus
Aug 15 2015 20:20

Hi @kmod
Last time you mentioned to use PyGC_AddNonheapRoot to avoid "not valid GC Object error". But I didn't found that function. I suspect whether you mean "PyGC_AddRoot" or "gc::registerNonheapRootObject". I tried both, but nothing could work. Maybe I did something wrong?

Here is the commit about sys.xxx_info:
Daetalus/pyston@8b9ef13

And here is the structseq with Pyston changes:
Daetalus/pyston@2cbee9a

Note: leave it till Monday is fine to me.

Kevin Modzelewski
@kmod
Aug 15 2015 20:33
looks like it's complaining about the VersionInfoType object
we would need to call registerNonheapRoot on that
(I think PyGC_AddNonHeapRoot was added pretty recently)
it looks like VersionInfoType doesn't get initialized though?
Sun
@Daetalus
Aug 15 2015 20:34
I called registerNonheapRoot in line 514. But still report error.
Kevin Modzelewski
@kmod
Aug 15 2015 20:34
well, it's complaining about the class object
not the instance of it
ie VersionInfoType, not version_info
it would probably be better to statically allocate it too
ie doing static struct _typeobject VersionInfoType; instead of static struct _typeobject* VersionInfoType = new _typeobject()
I think the latter will work but shouldn't be necessary
Kevin Modzelewski
@kmod
Aug 15 2015 20:48
just sent you Daetalus/pyston#1
didn't really verify it but at least it gets past initialization without crashing
Sun
@Daetalus
Aug 15 2015 20:48
Ok, thank you very much!
I just pushed another commit. But now is no necessery to let you review it. :smile:
Sun
@Daetalus
Aug 15 2015 20:55
Solved! BTW, what's the plan to support long on Windows platform in future? Still use GMP?
Kevin Modzelewski
@kmod
Aug 15 2015 22:06
oh man, pyston on windows :P
that's a long way away