]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Document new call opcodes for 3.11 (GH-30107)
authorMark Shannon <mark@hotpy.org>
Tue, 14 Dec 2021 23:40:44 +0000 (23:40 +0000)
committerGitHub <noreply@github.com>
Tue, 14 Dec 2021 23:40:44 +0000 (23:40 +0000)
Doc/whatsnew/3.11.rst

index 793075c4b6173411cef548b1f9ec2e6a64b32103..3005d1d43f25b9bb0ce6451b2ef9a7890163f757 100644 (file)
@@ -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``.