diff options
author | Andrew MacIntyre <andymac@bullseye.apana.org.au> | 2002-08-04 06:28:21 +0000 |
---|---|---|
committer | Andrew MacIntyre <andymac@bullseye.apana.org.au> | 2002-08-04 06:28:21 +0000 |
commit | fc8f5a6fcfef7e5974bf9e13f56ea02115c2b8df (patch) | |
tree | a0b052f636e152cee40b0e6db6d442f06e06c74a /Python/pythonrun.c | |
parent | 21c3654613e7e59233b4adbe142298494cee0665 (diff) | |
download | cpython-fc8f5a6fcfef7e5974bf9e13f56ea02115c2b8df.tar.gz |
SF patch #578297:
Change the parser and compiler to use PyMalloc.
Only the files implementing processes that will request memory
allocations small enough for PyMalloc to be a win have been
changed, which are:-
- Python/compile.c
- Parser/acceler.c
- Parser/node.c
- Parser/parsetok.c
This augments the aggressive overallocation strategy implemented by
Tim Peters in PyNode_AddChild() [Parser/node.c], in reducing the
impact of platform malloc()/realloc()/free() corner case behaviour.
Such corner cases are known to be triggered by test_longexp and
test_import.
Jeremy Hylton, in accepting this patch, recommended this as a
bugfix candidate for 2.2. While the changes to Python/compile.c
and Parser/node.c backport easily (and could go in), the changes
to Parser/acceler.c and Parser/parsetok.c require other not
insignificant changes as a result of the differences in the memory
APIs between 2.3 and 2.2, which I'm not in a position to work
through at the moment. This is a pity, as the Parser/parsetok.c
changes are the most important after the Parser/node.c changes, due
to the size of the memory requests involved and their frequency.
Diffstat (limited to 'Python/pythonrun.c')
0 files changed, 0 insertions, 0 deletions