New submission from Mark Shannon <m...@hotpy.org>:

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.

----------
assignee: Mark.Shannon
messages: 411721
nosy: Mark.Shannon
priority: normal
severity: normal
status: open
title: Improve effeciency of PRECALL/CALL instructions

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue46532>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to