• Andrew MacIntyre's avatar
    SF patch #578297: · 80d4e2ac
    Andrew MacIntyre yazdı
    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.
    80d4e2ac
Adı
Son kayıt (commit)
Son güncelleme
..
.cvsignore Loading commit data...
acceler.c Loading commit data...
bitset.c Loading commit data...
firstsets.c Loading commit data...
grammar.c Loading commit data...
grammar.mak Loading commit data...
grammar1.c Loading commit data...
intrcheck.c Loading commit data...
listnode.c Loading commit data...
metagrammar.c Loading commit data...
myreadline.c Loading commit data...
node.c Loading commit data...
parser.c Loading commit data...
parser.h Loading commit data...
parsetok.c Loading commit data...
pgen.c Loading commit data...
pgen.h Loading commit data...
pgenmain.c Loading commit data...
printgrammar.c Loading commit data...
tokenizer.c Loading commit data...
tokenizer.h Loading commit data...