Shahar Naveh
f95b7468f7
Autogen opcodes metadata ( #7983 )
2026-05-27 16:44:58 +09:00
Shahar Naveh
9a5de28b79
Align _opcode_metadata.py to 3.14.3 ( #7456 )
...
* Align `_opcode_metadata.py` to 3.14.3
* Unmark passing test
* Ensure python 3.14 runs on CI
* Update banner
* Fix `test__opcode.py`
* Adjust generate script
* Fix docs
2026-03-18 22:09:00 +09:00
Jeong YunWon
c0bdb9a3e5
align psuedo ops to 3.14.2
2026-01-24 16:09:40 +09:00
Jeong, YunWon
40a43f3210
instruction improvements ( #6829 )
...
New Features
Direct small-integer loading (0–255) and locals-loading for faster execution
Async-generator wrapping and improved generator resume behavior
Performance
Faster integer loads and streamlined jump/loop handling for better runtime performance
Bug Fixes
More robust StopIteration handling and stricter init return checks
Corrected iterator cleanup for async and sync loops
Improvements
Aligns loop and jump semantics with CPython 3.14 patterns
2026-01-22 17:25:56 +09:00
Jeong, YunWon
a7f2351244
Remove BEFORE_WITH,BINARY_SUBSCR ( #6822 )
2026-01-21 02:58:24 +09:00
Jeong, YunWon
274e8b4b6b
Remove JUMP_IF_NOT_EXC_MATCH, SET_EXC_INFO ( #6820 )
2026-01-21 01:23:43 +09:00
Jeong, YunWon
e0cceaf31c
Remove ReturnConst/Break/Continue ops ( #6816 )
...
* Remove ReturnConst
* Remove break/continue ops
2026-01-21 00:03:43 +09:00
Jeong, YunWon
f0c3e7d51f
Remove SUBSCRIPT, JUMP_IF_{TRUE,FALSE}_OR_POP ( #6810 )
...
* Align ForIter behavior (incomplete)
* Romove JUMP_IF_{TRUE,FALSE}_OR_POP, subscript
* Remove LoadAssetionError
* Update snapshot for ForIter behavior change
2026-01-20 16:21:23 +09:00
Jeong, YunWon
97167ab1cc
Instruction 3.14 ( #6805 )
...
* renumber enum Instruction
* renumber magic
* Update test__opcode from 3.14.2
---------
Co-authored-by: CPython Devleopers <>
2026-01-20 03:52:52 +09:00
Jeong, YunWon
130bb82a43
LoadClosure as pseudo op ( #6789 )
2026-01-19 02:45:00 +09:00
Jeong, YunWon
f4363a6b27
PEP 750 tstring ( #6744 )
2026-01-17 18:41:40 +09:00
Shahar Naveh
380fa39eba
Bytecode instrumented placeholder ( #6741 )
...
* Add all other bytecodes
* Mark passing/failing tests
2026-01-16 23:08:06 +09:00
Shahar Naveh
e3890f9b4a
Bytecode pseudo opcodes ( #6715 )
2026-01-15 02:52:25 +09:00
Jeong, YunWon
29bb8b47cd
Super instructions ( #6694 )
...
* super instructions
* Fix classcell
* ZeroArg
2026-01-11 17:59:32 +09:00
Shahar Naveh
6ff7b3ed27
LoadClassDeref -> LoadFromDictOrDeref ( #6692 )
2026-01-10 23:16:11 +09:00
Shahar Naveh
6fe05987f0
Remove Reverse bytecode ( #6675 )
...
* Remove `Reverse` bytecode
* Update crates/compiler-core/src/bytecode.rs
Co-authored-by: Jeong, YunWon <69878+youknowone@users.noreply.github.com >
* Gen
* Remove Reverse
* Auto-format: cargo fmt --all
* Revert comment
* Remove debug code
* Fix CI
---------
Co-authored-by: Jeong, YunWon <69878+youknowone@users.noreply.github.com >
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-01-10 18:55:15 +09:00
Shahar Naveh
9291178b01
Ci gen opcode metadata ( #6677 )
...
* Autogen opcode metadata
* Manually modify opcode metadata
2026-01-10 17:33:11 +09:00
Jeong, YunWon
de0bc732c9
Replace CallMethod/LoadMethod opcodes with plain Call ( #6674 )
...
* implementing call the correct way
stack is [Option<PyObjectRef>]
* fix again
* list custom instructions
* Auto-format: cargo fmt --all
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-01-10 08:25:56 +09:00
Shahar Naveh
c2bfdf30bd
Assign opcode ids ( #6637 )
2026-01-09 22:52:47 +09:00
Jeong, YunWon
eee360822c
Rework compiler about exception handling ( #6638 )
...
* asyncgen
* fix coroutine
* rewrite compiler
* tests
* set pyc magic number
2026-01-04 09:15:38 +09:00
Shahar Naveh
3a6fda4daf
Update opcode from 3.13.7 ( #6156 )
...
* Update `opcode` from 3.13.7
* Base `_opcode`
* Add `test__opcode.py` from 3.13.7
* Impl `has_*` methods
* Add more methods
* Update `dis.py` from 3.13.7
* Update `support/bytecode_helper.py` from 3.13.7
* correct is_valid
* Patch failing tests
* Unpatch `support/__init__.py`
* clippy
* Make comments to doc
* impl `_varname_from_oparg` for code
* Unmark passing tests
* Revert changes to `dis`
* Mark failing tests
2025-10-05 11:14:33 +09:00