diff options
| author | Richard Jones <richard@commonground.com.au> | 2006-05-23 10:37:38 (GMT) | 
|---|---|---|
| committer | Richard Jones <richard@commonground.com.au> | 2006-05-23 10:37:38 (GMT) | 
| commit | 7c88dcc5aba28570ef7c1a957baaceb6e47cfc41 (patch) | |
| tree | 221340a23aa7fb642a5d30076527254d221025b0 /Objects/codeobject.c | |
| parent | 833bf9422ea436774396f435e04fc3b927a16b88 (diff) | |
| download | cpython-7c88dcc5aba28570ef7c1a957baaceb6e47cfc41.zip cpython-7c88dcc5aba28570ef7c1a957baaceb6e47cfc41.tar.gz cpython-7c88dcc5aba28570ef7c1a957baaceb6e47cfc41.tar.bz2  | |
Merge from rjones-funccall branch.
Applied patch zombie-frames-2.diff from sf patch 876206 with updates for
Python 2.5 and also modified to retain the free_list to avoid the 67%
slow-down in pybench recursion test. 5% speed up in function call pybench.
Diffstat (limited to 'Objects/codeobject.c')
| -rw-r--r-- | Objects/codeobject.c | 3 | 
1 files changed, 3 insertions, 0 deletions
diff --git a/Objects/codeobject.c b/Objects/codeobject.c index 8ae2399..a9bcb01 100644 --- a/Objects/codeobject.c +++ b/Objects/codeobject.c @@ -102,6 +102,7 @@ PyCode_New(int argcount, int nlocals, int stacksize, int flags,  		co->co_firstlineno = firstlineno;  		Py_INCREF(lnotab);  		co->co_lnotab = lnotab; +                co->co_zombieframe = NULL;  	}  	return co;  } @@ -265,6 +266,8 @@ code_dealloc(PyCodeObject *co)  	Py_XDECREF(co->co_filename);  	Py_XDECREF(co->co_name);  	Py_XDECREF(co->co_lnotab); +        if (co->co_zombieframe != NULL) +                PyObject_GC_Del(co->co_zombieframe);  	PyObject_DEL(co);  }  | 
