From: Mark Shannon Date: Tue, 14 Dec 2021 23:40:44 +0000 (+0000) Subject: Document new call opcodes for 3.11 (GH-30107) X-Git-Tag: v3.11.0a4~196 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f54fee7f37563fbd569596cf94aad023ac6c3179;p=thirdparty%2FPython%2Fcpython.git Document new call opcodes for 3.11 (GH-30107) --- diff --git a/Doc/whatsnew/3.11.rst b/Doc/whatsnew/3.11.rst index 793075c4b617..3005d1d43f25 100644 --- a/Doc/whatsnew/3.11.rst +++ b/Doc/whatsnew/3.11.rst @@ -373,9 +373,11 @@ CPython bytecode changes * Replaced all numeric ``BINARY_*`` and ``INPLACE_*`` instructions with a single :opcode:`BINARY_OP` implementation. -* Added a new :opcode:`CALL_METHOD_KW` opcode. Calls a method in a similar - fashion as :opcode:`CALL_METHOD`, but also supports keyword arguments. Works - in tandem with :opcode:`LOAD_METHOD`. +* Replaced the three call instructions: :opcode:`CALL_FUNCTION`, + :opcode:`CALL_FUNCTION_KW` and :opcode:`CALL_METHOD` with + :opcode:`CALL_NO_KW`, :opcode:`CALL_KW` and :opcode:`PRECALL_METHOD`. + This decouples the argument shifting for methods from the handling of + keyword arguments and allows better specialization of calls. * Removed ``COPY_DICT_WITHOUT_KEYS``.