On 11/29/05, Neal Norwitz <[EMAIL PROTECTED]> wrote: > On 11/29/05, Nick Coghlan <[EMAIL PROTECTED]> wrote: > > > > When working on the CST->AST parser, there were only a few things I found to > > be seriously painful about the memory management: > > > > 1. Remembering which free_* variant to call for AST nodes > > 2. Remembering which asdl_seq_*_free variant to call for ASDL sequences > > (it > > was worse when the variant I wanted didn't exist, since this was done with > > functions rather than preprocessor macros) > > 3. Remembering to transpose free_* and *_free between freeing a single > > node > > and freeing a sequence. > > 4. Remembering whether or not a given cleanup function could cope with > > NULL's or not > > 5. The fact that there wasn't a consistent "goto error" exception-alike > > mechanism in use > > > > (I had a Spanish Inquisition-esque experience writing that list ;) > > :-) I agree all those are existing issues. #3 could be easily fixed. > #4 I think all cleanup functions can deal with NULLs now. #5 > probably ought to be fixed in favor of using gotos. > > > Simply switching to PyObjects would solve the first four problems: > > everything > > becomes a Py_XDECREF. > > I'm mostly convinced that using PyObjects would be a good thing. > However, making the change isn't free as all the types need to be > created and this is likely quite a bit of code. I'd like to hear what > Jeremy thinks about this. > > Is anyone interested in creating a patch along these lines (even a > partial patch) to see the benefits? >
Or should perhaps a branch be made since Subversion makes it so cheap and this allows multiple people to work on it? -Brett _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com