Bytecode changes in 3.14 are not documented in `dis` module docs
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 77.2k
- Forks
- 35.9k
- PR merge metrics
- PR metrics pending
Description
Documentation
The module documentation for dis normally contains documentation for all non-specialized bytecode instructions.
However, many of the new bytecode instructions added in 3.14 (BUILD_INTERPOLATION, NOT_TAKEN, etc) are missing from the 3.14 module docs. Some changes to existing instructions like CALL_FUNCTION_EX are also undocumented.
- BUILD_TEMPLATE
- BUILD_INTERPOLATION
- NOT_TAKEN
- POP_ITER
- CALL_FUNCTION_EX (changed)
- Remove BINARY_SUBSCR
Based on pycore_magic_number.h, it appears all changes after Python 3.14a2 with magic number 3609 are undocumented. Changes before this, like the addition of LOAD_SMALL_INT are correctly documented.
Linked PRs
- gh-135478
- gh-135803
- gh-139399
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the Python 3.14 dis module documentation and compare its bytecode instruction entries with Include/internal/pycore_magic_number.h, focusing on changes after magic number 3609. Review the linked PRs before making changes, especially for BUILD_INTERPOLATION, NOT_TAKEN, POP_ITER, CALL_FUNCTION_EX, and the removal of BINARY_SUBSCR. Done means the documented instruction set and changed behavior match Python 3.14.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 2/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 25/100