Emergency Self-Construct

Results 879 comments of Emergency Self-Construct

Right, it's an `ipython` issue, works with a regular `python`.

I updated the issue title to more closely reflect the discovery.

Partially addressed by: https://github.com/numba/numba-rvsdg/pull/118

Question: why was it necessary to remove the ability to deep-copy before application of any major algorithm? It should still be possible to deep-copy between closing, loop- and branch-restructure?

@jpivarski I have assigned you. BTW: the current numba-rvsdg 0.0.2 only supports transformation from Python bytecode to SCFG (structured control flow graph). While the documentation is still a bit sparse...

@jpivarski what you have discovered is correct. Any linear sequence of bytecodes without `if-else` or `for` constructs will produce only a single `PythonBytecodeBlock`. As soon as control flow or looping...

@jpivarski you can also run the `restructure` method from https://numba-rvsdg.readthedocs.io/en/latest/reference/datastructures.html#numba_rvsdg.core.datastructures.byte_flow.ByteFlow.restructure This will apply the `LOOP-RESTRUCTURE` and `BRANCH-RESTRUCTURE` algorithms from sections 4.1 and 4.2 of: https://dl.acm.org/doi/pdf/10.1145/2693261 and then render the graph...

> > Any linear sequence of bytecodes without `if-else` or `for` constructs will produce only a single `PythonBytecodeBlock`. As soon as control flow or looping are introduced you get multiple...

> For a prototype, I'd start with https://github.com/rocky/python-decompile3 which handles 3.7 and 3.8 code only. The code style is generally more modern Python and it follows better the ideas in...