summaryrefslogtreecommitdiffstats
path: root/Misc/NEWS.d
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2018-02-22 21:33:30 (GMT)
committerGitHub <noreply@github.com>2018-02-22 21:33:30 (GMT)
commit520b7ae27e39d1c77ea74ccd1b184d7cb43f9dcb (patch)
tree8a661515a3574b0d79ea2024a3b92646dd7ee837 /Misc/NEWS.d
parent4af8fd561433826ac897c55e41a087a5c5dbacf3 (diff)
downloadcpython-520b7ae27e39d1c77ea74ccd1b184d7cb43f9dcb.zip
cpython-520b7ae27e39d1c77ea74ccd1b184d7cb43f9dcb.tar.gz
cpython-520b7ae27e39d1c77ea74ccd1b184d7cb43f9dcb.tar.bz2
bpo-17611. Move unwinding of stack for "pseudo exceptions" from interpreter to compiler. (GH-5006)
Co-authored-by: Mark Shannon <mark@hotpy.org> Co-authored-by: Antoine Pitrou <antoine@python.org>
Diffstat (limited to 'Misc/NEWS.d')
-rw-r--r--Misc/NEWS.d/next/Core and Builtins/2017-12-24-19-48-59.bpo-17611.P85kWL.rst10
1 files changed, 10 insertions, 0 deletions
diff --git a/Misc/NEWS.d/next/Core and Builtins/2017-12-24-19-48-59.bpo-17611.P85kWL.rst b/Misc/NEWS.d/next/Core and Builtins/2017-12-24-19-48-59.bpo-17611.P85kWL.rst
new file mode 100644
index 0000000..52949e6
--- /dev/null
+++ b/Misc/NEWS.d/next/Core and Builtins/2017-12-24-19-48-59.bpo-17611.P85kWL.rst
@@ -0,0 +1,10 @@
+Simplified the interpreter loop by moving the logic of unrolling the stack
+of blocks into the compiler. The compiler emits now explicit instructions
+for adjusting the stack of values and calling the cleaning up code for
+:keyword:`break`, :keyword:`continue` and :keyword:`return`.
+
+Removed opcodes :opcode:`BREAK_LOOP`, :opcode:`CONTINUE_LOOP`,
+:opcode:`SETUP_LOOP` and :opcode:`SETUP_EXCEPT`. Added new opcodes
+:opcode:`ROT_FOUR`, :opcode:`BEGIN_FINALLY` and :opcode:`CALL_FINALLY` and
+:opcode:`POP_FINALLY`. Changed the behavior of :opcode:`END_FINALLY` and
+:opcode:`WITH_CLEANUP_START`.