From 5ac22308be9b0aa10cba6976f988c6c28d016644 Mon Sep 17 00:00:00 2001 From: Georg Brandl Date: Sun, 20 Jul 2008 21:39:03 +0000 Subject: [PATCH] #3400: document new 3.0 opcodes. --- Doc/library/dis.rst | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/Doc/library/dis.rst b/Doc/library/dis.rst index bf991d7087..12e7493186 100644 --- a/Doc/library/dis.rst +++ b/Doc/library/dis.rst @@ -414,8 +414,8 @@ Miscellaneous opcodes. .. opcode:: LOAD_BUILD_CLASS () - Pushes builtins.__build_class__ onto the stack. It is later called by - ```CALL_FUNCTION`` to construct a class. + Pushes :func:`builtins.__build_class__` onto the stack. It is later called + by :opcode:`CALL_FUNCTION` to construct a class. .. opcode:: WITH_CLEANUP () @@ -440,6 +440,12 @@ Miscellaneous opcodes. .. XXX explain the WHY stuff! +.. opcode:: STORE_LOCALS + + Pops TOS from the stack and stores it as the current frame's ``f_locals``. + This is used in class construction. + + All of the following opcodes expect arguments. An argument is two bytes, with the more significant byte last. @@ -462,6 +468,18 @@ the more significant byte last. right-to-left. +.. opcode:: UNPACK_EX (counts) + + Implements assignment with a starred target: Unpacks an iterable in TOS into + individual values, where the total number of values can be smaller than the + number of items in the iterable: one the new values will be a list of all + leftover items. + + The low byte of *counts* is the number of values before the list value, the + high byte of *counts* the number of values after it. The resulting values + are put onto the stack right-to-left. + + .. opcode:: DUP_TOPX (count) Duplicate *count* items, keeping them in the same order. Due to implementation -- 2.40.0