[WIP] bpo-17611: Move unwinding of stack from interpreter to compiler#2827
[WIP] bpo-17611: Move unwinding of stack from interpreter to compiler#2827pitrou wants to merge 20 commits into
Conversation
|
@pitrou, thanks for your PR! By analyzing the history of the files in this pull request, we identified @1st1, @serhiy-storchaka and @benjaminp to be potential reviewers. |
Sorry, something went wrong.
|
The test_dis failures are expected, as I haven't updated that file yet. |
Sorry, something went wrong.
|
However, I don't understand the additional test failures under Windows. |
Sorry, something went wrong.
|
Ok, it seems the Windows failures were due to a tracing bug without computed gotos. |
Sorry, something went wrong.
serhiy-storchaka
left a comment
There was a problem hiding this comment.
Published the part of review comments since the PR is changed.
Sorry, something went wrong.
serhiy-storchaka
left a comment
There was a problem hiding this comment.
I don't understand why JUMP_FINALLY should be a jumping instruction.
Sorry, something went wrong.
|
Serhiy, do you want to take over this PR? I am not much motivated by the remaining cleanup / dealing with existing cruft. |
Sorry, something went wrong.
|
I take over this PR. Thank you Antoine, you have done hard work for which I did not dare to undertake. I have fetched the branch from your repository. |
Sorry, something went wrong.
|
Thank you Serhiy :-) |
Sorry, something went wrong.
|
It would be quite good to get this change "to the finish line", so to speak. This is an ugly little corner of CPython and cleaning it up is difficult. That's why it has hung around all these years. This patch looks like it does the job, even though it is complicated. It seems to me that 95% of the hard work has been done by Antoine and Mark already. I have rebased it on the current "master" branch, see nascheme:unwind_stack. The rebase was not totally painless. I had to re-generate the importlib stuff (not surprising). In ceval, I had to make the following changes:
The unit test test_dist and test_importlib fail for me. It looks like test_dis hasn't been updated to match the latest changes made to the bytecode. Not sure what's wrong with importlib. |
Sorry, something went wrong.
Sorry, something went wrong.
https://bugs.python.org/issue17611