[Patches] [Patch #102337] revised CALL_FUNCTION implementation

noreply@sourceforge.net noreply@sourceforge.net
Thu, 9 Nov 2000 01:50:46 -0800


Patch #102337 has been updated. 

Project: python
Category: core (C code)
Status: Open
Summary: revised CALL_FUNCTION implementation

Follow-Ups:

Date: 2000-Nov-08 16:08
By: jhylton

Comment:
This is a first draft patch that revises the CALL_FUNCTION implementation.  The first part of the revision breaks the long inline implementation into a series of function calls.  Each of the function calls has some small local optimizations (e.g. PyMethod_GET_SELF instead of PyMethod_GetSelf).

One problem that needs to be figured out is how these functions can cleanly access the stack_pointer local var of eval_code2.  The current approach is a bit messy.


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

Date: 2000-Nov-08 16:29
By: jhylton

Comment:
A trivial fix to the logic keeps keyword arguments fast.

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

Date: 2000-Nov-09 01:50
By: lemburg

Comment:
The patch looks ok, but I'm still missing the cleanup of the
PyEval_CallXXX() APIs which the patch I sent you included.

Some cosmetic issues:
1. your new APIs should be static and start with an underscore
  (e.g. _Py_CallFunctions)
2. you should add some "register" markers to the function call
  definitions -- this helps compilers such as gcc when inlining functions

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

-------------------------------------------------------
For more info, visit:

http://sourceforge.net/patch/?func=detailpatch&patch_id=102337&group_id=5470