On Fri, Aug 09, 2002 at 02:03:10PM -0400, Guido van Rossum wrote: > This means a change in the string object lay-out, which breaks binary > compatibility (the PyString_AS_STRING macro depends on this). I think that making interned string mortal is important enough by itself even without the size reduction. If binary compatibility is important enough it's possible to maintain it. > I don't mind biting this bullet, but it means we have to increment the > API version, and perhaps the warning about API version mismatches > should become an error if an extension with too an API version before > this change is detected. > > Oren, how's that patch coming along? :-) I've just submitted a new patch for http://python.org/sf/576101 It passes regrtest but causes test_gc to leak 20 objects. 13 from test_finalizer_newclass and 7 from test_del_newclass. These leaks go away if test_saveall is skipped. I've tried earlier versions of this patch (which were ok at the time) and they now create this leak too. Some change since the last time I worked on interning must have caused this. Either this change reveals a bug in my patch or my patch reveals a subtle bug in the GC. I don't know why it interacts with GC logic because strings are non-gc objects. I've tried to untrack the interned dictionary because it plays dirty tricks with refcounts but it doesn't change the symptom. Oren
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4