◐ Shell
clean mode source ↗

Bytecode parity by youknowone · Pull Request #7536 · RustPython/RustPython

added 3 commits

March 30, 2026 13:50
… genexpr StopIteration wrapper

- split_blocks_at_jumps: split blocks at branch points so each has one exit
- jump_threading: thread jumps through single-jump blocks (flowgraph.c jump_thread)
- Backward conditional jump normalization: invert and create NOT_TAKEN+JUMP block
- Follow empty blocks in jump-to-return optimization (next_nonempty_block)
- Add PEP 479 StopIteration handler to compile_comprehension for generators
- Add Slice variant to ConstantData and BorrowedConstant
- Fold constant slices (x[:3], x[1:4]) into LOAD_CONST(slice(...))
- Marshal serialization/deserialization for Slice type
- Box::leak in borrow_obj_constant for PySlice roundtrip
Prepare infrastructure for exit block duplication optimization.
Currently disabled pending stackdepth integration.

@youknowone

coderabbitai[bot]