Skip to content
This repository was archived by the owner on May 31, 2020. It is now read-only.
This repository was archived by the owner on May 31, 2020. It is now read-only.

Heads up: change to exception handling opcodes in CPython 3.8 #693

@ncoghlan

Description

@ncoghlan

CPython currently relies heavily on eval loop magic to handle unwinding the stack after exceptions and other operations. This complexity then gets inherited by other eval loop implementations that rely on the CPython compiler as a front-end.

For CPython 3.7, it currently seems likely that we're going to shift more of the work into the compiler, such that the stack unwinding is explicit in the bytecode, and the eval loop no longer needs to manage that state separately from the opcode evaluation sequence.

https://bugs.python.org/issue17611 and https://github.com/python/cpython/pull/4682/files have more details on the expected change.

(This would presumably affect VOC in addition to Batavia)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions