From f54fee7f37563fbd569596cf94aad023ac6c3179 Mon Sep 17 00:00:00 2001 From: Mark Shannon Date: Tue, 14 Dec 2021 23:40:44 +0000 Subject: Document new call opcodes for 3.11 (GH-30107) --- Doc/whatsnew/3.11.rst | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/Doc/whatsnew/3.11.rst b/Doc/whatsnew/3.11.rst index 793075c..3005d1d 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``. -- cgit v0.12