[Python-checkins] cpython (merge 3.6 -> default): Merge 3.6 (issue #28635)

yury.selivanov python-checkins at python.org
Mon Nov 28 11:46:04 EST 2016


https://hg.python.org/cpython/rev/48fb6a4cb5f8
changeset:   105383:48fb6a4cb5f8
parent:      105381:07d8272d61e7
parent:      105382:52038705827d
user:        Yury Selivanov <yury at magic.io>
date:        Mon Nov 28 11:45:58 2016 -0500
summary:
  Merge 3.6 (issue #28635)

files:
  Doc/whatsnew/3.6.rst |  34 ++++++++++++++++++++++++++++++++
  1 files changed, 34 insertions(+), 0 deletions(-)


diff --git a/Doc/whatsnew/3.6.rst b/Doc/whatsnew/3.6.rst
--- a/Doc/whatsnew/3.6.rst
+++ b/Doc/whatsnew/3.6.rst
@@ -2240,3 +2240,37 @@
 
 * :c:func:`Py_Exit` (and the main interpreter) now override the exit status
   with 120 if flushing buffered data failed.  See :issue:`5319`.
+
+
+CPython bytecode changes
+------------------------
+
+There have been several major changes to the :term:`bytecode` in Python 3.6.
+
+* The Python interpreter now uses a 16-bit wordcode instead of bytecode.
+  (Contributed by Demur Rumed with input and reviews from
+  Serhiy Storchaka and Victor Stinner in :issue:`26647` and :issue:`28050`.)
+
+* The new :opcode:`FORMAT_VALUE` and :opcode:`BUILD_STRING` opcodes as part
+  of the  :ref:`formatted string literal <whatsnew36-pep498>` implementation.
+  (Contributed by Eric Smith in :issue:`25483` and
+  Serhiy Storchaka in :issue:`27078`.)
+
+* The new :opcode:`BUILD_CONST_KEY_MAP` opcode to optimize the creation
+  of dictionaries with constant keys.
+  (Contributed by Serhiy Storchaka in :issue:`27140`.)
+
+* The function call opcodes have been heavily reworked for better performance
+  and simpler implementation.
+  The :opcode:`MAKE_FUNCTION`, :opcode:`CALL_FUNCTION`,
+  :opcode:`CALL_FUNCTION_KW` and :opcode:`BUILD_MAP_UNPACK_WITH_CALL` opcodes
+  have been modified, the new :opcode:`CALL_FUNCTION_EX` and
+  :opcode:`BUILD_TUPLE_UNPACK_WITH_CALL` have been added, and
+  ``CALL_FUNCTION_VAR``, ``CALL_FUNCTION_VAR_KW`` and ``MAKE_CLOSURE`` opcodes
+  have been removed.
+  (Contributed by Demur Rumed in :issue:`27095`, and Serhiy Storchaka in
+  :issue:`27213`, :issue:`28257`.)
+
+* The new :opcode:`SETUP_ANNOTATIONS` and :opcode:`STORE_ANNOTATION` opcodes
+  have been added to support the new :term:`variable annotation` syntax.
+  (Contributed by Ivan Levkivskyi in :issue:`27985`.)

-- 
Repository URL: https://hg.python.org/cpython


More information about the Python-checkins mailing list