<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/cpython-git.git/Lib/opcode.py, branch faster-bytes-iter</title>
<subtitle>github.com: python/cpython.git
</subtitle>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/'/>
<entry>
<title>bpo-39320: Handle unpacking of **values in compiler (GH-18141)</title>
<updated>2020-01-27T09:57:45+00:00</updated>
<author>
<name>Mark Shannon</name>
<email>mark@hotpy.org</email>
</author>
<published>2020-01-27T09:57:45+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=8a4cd700a7426341c2074a2b580306d2d60ec839'/>
<id>8a4cd700a7426341c2074a2b580306d2d60ec839</id>
<content type='text'>
* Add DICT_UPDATE and DICT_MERGE bytecodes. Use them for ** unpacking.

* Remove BUILD_MAP_UNPACK and BUILD_MAP_UNPACK_WITH_CALL, as they are now unused.

* Update magic number for ** unpacking opcodes.

* Update dis.rst to incorporate new bytecodes.

* Add blurb entry.

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Add DICT_UPDATE and DICT_MERGE bytecodes. Use them for ** unpacking.

* Remove BUILD_MAP_UNPACK and BUILD_MAP_UNPACK_WITH_CALL, as they are now unused.

* Update magic number for ** unpacking opcodes.

* Update dis.rst to incorporate new bytecodes.

* Add blurb entry.

</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-39320: Handle unpacking of *values in compiler (GH-17984)</title>
<updated>2020-01-23T09:25:17+00:00</updated>
<author>
<name>Mark Shannon</name>
<email>mark@hotpy.org</email>
</author>
<published>2020-01-23T09:25:17+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=13bc13960cc83dbd1cb5701d9a59ac9b9144b205'/>
<id>13bc13960cc83dbd1cb5701d9a59ac9b9144b205</id>
<content type='text'>
* Add three new bytecodes: LIST_TO_TUPLE, LIST_EXTEND, SET_UPDATE. Use them to implement star unpacking expressions.

* Remove four bytecodes BUILD_LIST_UNPACK, BUILD_TUPLE_UNPACK, BUILD_SET_UNPACK and  BUILD_TUPLE_UNPACK_WITH_CALL opcodes as they are now unused.

* Update magic number and dis.rst for new bytecodes.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Add three new bytecodes: LIST_TO_TUPLE, LIST_EXTEND, SET_UPDATE. Use them to implement star unpacking expressions.

* Remove four bytecodes BUILD_LIST_UNPACK, BUILD_TUPLE_UNPACK, BUILD_SET_UNPACK and  BUILD_TUPLE_UNPACK_WITH_CALL opcodes as they are now unused.

* Update magic number and dis.rst for new bytecodes.
</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-39156: Break up COMPARE_OP into four logically distinct opcodes. (GH-17754)</title>
<updated>2020-01-14T10:12:45+00:00</updated>
<author>
<name>Mark Shannon</name>
<email>mark@hotpy.org</email>
</author>
<published>2020-01-14T10:12:45+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=9af0e47b1705457bb6b327c197f2ec5737a1d8f6'/>
<id>9af0e47b1705457bb6b327c197f2ec5737a1d8f6</id>
<content type='text'>
Break up COMPARE_OP into four logically distinct opcodes:
* COMPARE_OP for rich comparisons
* IS_OP for 'is' and 'is not' tests
* CONTAINS_OP for 'in' and 'is not' tests
* JUMP_IF_NOT_EXC_MATCH for checking exceptions in 'try-except' statements.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Break up COMPARE_OP into four logically distinct opcodes:
* COMPARE_OP for rich comparisons
* IS_OP for 'is' and 'is not' tests
* CONTAINS_OP for 'in' and 'is not' tests
* JUMP_IF_NOT_EXC_MATCH for checking exceptions in 'try-except' statements.
</pre>
</div>
</content>
</entry>
<entry>
<title>Produce cleaner bytecode for 'with' and 'async with' by generating separate code for normal and exceptional paths. (#6641)</title>
<updated>2019-11-21T09:11:43+00:00</updated>
<author>
<name>Mark Shannon</name>
<email>mark@hotpy.org</email>
</author>
<published>2019-11-21T09:11:43+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=fee552669f21ca294f57fe0df826945edc779090'/>
<id>fee552669f21ca294f57fe0df826945edc779090</id>
<content type='text'>
Remove BEGIN_FINALLY, END_FINALLY, CALL_FINALLY and POP_FINALLY bytecodes. Implement finally blocks by code duplication.
Reimplement frame.lineno setter using line numbers rather than bytecode offsets.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Remove BEGIN_FINALLY, END_FINALLY, CALL_FINALLY and POP_FINALLY bytecodes. Implement finally blocks by code duplication.
Reimplement frame.lineno setter using line numbers rather than bytecode offsets.</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-34880: Add the LOAD_ASSERTION_ERROR opcode. (GH-15073)</title>
<updated>2019-08-25T09:44:09+00:00</updated>
<author>
<name>Zackery Spytz</name>
<email>zspytz@gmail.com</email>
</author>
<published>2019-08-25T09:44:09+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=ce6a070414ed1e1374d1e6212bfbff61b6d5d755'/>
<id>ce6a070414ed1e1374d1e6212bfbff61b6d5d755</id>
<content type='text'>
Fix assert statement misbehavior if AssertionError is shadowed.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix assert statement misbehavior if AssertionError is shadowed.
</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-33041: Rework compiling an "async for" loop. (#6142)</title>
<updated>2018-03-23T12:34:35+00:00</updated>
<author>
<name>Serhiy Storchaka</name>
<email>storchaka@gmail.com</email>
</author>
<published>2018-03-23T12:34:35+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=702f8f3611bc49b73772cce2b9b041bd11ff9b35'/>
<id>702f8f3611bc49b73772cce2b9b041bd11ff9b35</id>
<content type='text'>
* Added new opcode END_ASYNC_FOR.
* Setting global StopAsyncIteration no longer breaks "async for" loops.
* Jumping into an "async for" loop is now disabled.
* Jumping out of an "async for" loop no longer corrupts the stack.
* Simplify the compiler.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Added new opcode END_ASYNC_FOR.
* Setting global StopAsyncIteration no longer breaks "async for" loops.
* Jumping into an "async for" loop is now disabled.
* Jumping out of an "async for" loop no longer corrupts the stack.
* Simplify the compiler.
</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-17611. Move unwinding of stack for "pseudo exceptions" from interpreter to compiler. (GH-5006)</title>
<updated>2018-02-22T21:33:30+00:00</updated>
<author>
<name>Serhiy Storchaka</name>
<email>storchaka@gmail.com</email>
</author>
<published>2018-02-22T21:33:30+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=520b7ae27e39d1c77ea74ccd1b184d7cb43f9dcb'/>
<id>520b7ae27e39d1c77ea74ccd1b184d7cb43f9dcb</id>
<content type='text'>


Co-authored-by: Mark Shannon &lt;mark@hotpy.org&gt;
Co-authored-by: Antoine Pitrou &lt;antoine@python.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>


Co-authored-by: Mark Shannon &lt;mark@hotpy.org&gt;
Co-authored-by: Antoine Pitrou &lt;antoine@python.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-32746: Fix multiple typos (GH-5144)</title>
<updated>2018-02-04T00:36:10+00:00</updated>
<author>
<name>Leo Arias</name>
<email>leo.arias@canonical.com</email>
</author>
<published>2018-02-04T00:36:10+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=c3d9508ff22ece9a96892b628dd5813e2fb0cd80'/>
<id>c3d9508ff22ece9a96892b628dd5813e2fb0cd80</id>
<content type='text'>
Fix typos found by codespell in docs, docstrings, and comments.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix typos found by codespell in docs, docstrings, and comments.</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-32550. Remove the STORE_ANNOTATION bytecode. (GH-5181)</title>
<updated>2018-01-30T00:41:04+00:00</updated>
<author>
<name>Mark Shannon</name>
<email>mark@hotpy.org</email>
</author>
<published>2018-01-30T00:41:04+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=332cd5ee4ff42c9904c56e68a1028f383f7fc9a8'/>
<id>332cd5ee4ff42c9904c56e68a1028f383f7fc9a8</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Issue #26110: Add LOAD_METHOD/CALL_METHOD opcodes.</title>
<updated>2016-12-14T00:03:51+00:00</updated>
<author>
<name>Yury Selivanov</name>
<email>yury@magic.io</email>
</author>
<published>2016-12-14T00:03:51+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=f2392133eba777f05947a8996c507690b95379c3'/>
<id>f2392133eba777f05947a8996c507690b95379c3</id>
<content type='text'>
Special thanks to INADA Naoki for pushing the patch through
the last mile, Serhiy Storchaka for reviewing the code, and to
Victor Stinner for suggesting the idea (originally implemented
in the PyPy project).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Special thanks to INADA Naoki for pushing the patch through
the last mile, Serhiy Storchaka for reviewing the code, and to
Victor Stinner for suggesting the idea (originally implemented
in the PyPy project).
</pre>
</div>
</content>
</entry>
</feed>
