[Python-checkins] Document new call opcodes for 3.11 (GH-30107)

markshannon webhook-mailer at python.org
Tue Dec 14 18:41:09 EST 2021


https://github.com/python/cpython/commit/f54fee7f37563fbd569596cf94aad023ac6c3179
commit: f54fee7f37563fbd569596cf94aad023ac6c3179
branch: main
author: Mark Shannon <mark at hotpy.org>
committer: markshannon <mark at hotpy.org>
date: 2021-12-14T23:40:44Z
summary:

Document new call opcodes for 3.11 (GH-30107)

files:
M Doc/whatsnew/3.11.rst

diff --git a/Doc/whatsnew/3.11.rst b/Doc/whatsnew/3.11.rst
index 793075c4b6173..3005d1d43f25b 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``.
 



More information about the Python-checkins mailing list