[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