#3400: document new 3.0 opcodes.

This commit is contained in:
Georg Brandl 2008-07-20 21:39:03 +00:00
parent dbdbf75983
commit 5ac22308be

View file

@ -414,8 +414,8 @@ Miscellaneous opcodes.
.. opcode:: LOAD_BUILD_CLASS () .. opcode:: LOAD_BUILD_CLASS ()
Pushes builtins.__build_class__ onto the stack. It is later called by Pushes :func:`builtins.__build_class__` onto the stack. It is later called
```CALL_FUNCTION`` to construct a class. by :opcode:`CALL_FUNCTION` to construct a class.
.. opcode:: WITH_CLEANUP () .. opcode:: WITH_CLEANUP ()
@ -440,6 +440,12 @@ Miscellaneous opcodes.
.. XXX explain the WHY stuff! .. 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 All of the following opcodes expect arguments. An argument is two bytes, with
the more significant byte last. the more significant byte last.
@ -462,6 +468,18 @@ the more significant byte last.
right-to-left. 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) .. opcode:: DUP_TOPX (count)
Duplicate *count* items, keeping them in the same order. Due to implementation Duplicate *count* items, keeping them in the same order. Due to implementation