[Patches] [ python-Patches-661440 ] Refactor and streamline PyCFunction_Call

noreply@sourceforge.net noreply@sourceforge.net
Thu, 02 Jan 2003 19:06:59 -0800


Patches item #661440, was opened at 2003-01-02 22:06
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=305470&aid=661440&group_id=5470

Category: Core (C code)
Group: Python 2.3
Status: Open
Resolution: None
Priority: 5
Submitted By: Raymond Hettinger (rhettinger)
Assigned to: Guido van Rossum (gvanrossum)
Summary: Refactor and streamline PyCFunction_Call

Initial Comment:
Refactor PyCFunction_Call with an eye towards 
clarity and speed while leaving the semantics 
unchanged.  

It is now obvious which combinations of flags are 
allowed; the new structure makes it easier to add new 
flags and flag combinations; and every path runs 
faster (by having fewer jumps, filling variables only 
when and where needed, and by merging a test into 
the switch logic).

* Incorporated the keyword flag test into switch/case.
* Deferred initialization of "size" until when and where 
needed.
* Inverted error tests so that the common case has 
no jumps.



----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=305470&aid=661440&group_id=5470