This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author Mark.Shannon
Recipients Mark.Shannon
Date 2022-01-26.09:44:42
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1643190282.99.0.74296903316.issue46532@roundup.psfhosted.org>
In-reply-to
Content
The PRECALL/CALL bytecode pair for calls is new (still in review at time of writing) and is not as efficient as it could be.

Some possible improvements are:

Transfer refcount of func when making a frame.

NULL call_shape.kwnames after use instead of in PRECALL, as many specialized instructions already assert that it is NULL.

Specialize the PRECALL instructions. Either for simple cases like `type(arg)` so we can skip the CALL, or for complex cases like `PythonClass(args)` where PRECALL can create object, and set up the frame so that `CALL` calls the __init__ function.
History
Date User Action Args
2022-01-26 09:44:43Mark.Shannonsetrecipients: + Mark.Shannon
2022-01-26 09:44:42Mark.Shannonsetmessageid: <1643190282.99.0.74296903316.issue46532@roundup.psfhosted.org>
2022-01-26 09:44:42Mark.Shannonlinkissue46532 messages
2022-01-26 09:44:42Mark.Shannoncreate