1c413c5124
ci: workflow_dispatch
2025-11-19 00:10:29 +08:00
49557e7580
fix(pycdc): don't skip 1 instruction right after RETURN_VALUE
2025-11-19 00:08:21 +08:00
6c6aa159df
sync with 71c3307: unit buffer
2025-11-19 00:07:46 +08:00
b5983f505f
sync with 766647f: prompt, only 1 file, flush on err
2025-11-18 23:55:37 +08:00
7a0044914c
Merge py3.14 das, commit '1d123722'
2025-11-18 23:50:39 +08:00
3359b0e1b2
fix: 3.13 is supported
2025-09-18 21:49:31 +08:00
8b8fe3020a
Merge branch 'master' into fork
2025-09-18 16:35:01 +08:00
Michael Hansen
a05ddec0d8
Merge pull request #564 from whoami730/exceptions
...
CodeQL / Analyze (cpp) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
Linux-CI / build (push) Has been cancelled
MSVC-CI / build (push) Has been cancelled
Parse and display exception table
2025-08-30 10:02:14 -07:00
Sahil Jain
d8c6fdf711
Address comments
2025-08-30 20:01:32 +05:30
Michael Hansen
577720302e
Add basic protection aginst circular references in pycdas and pycdc.
...
This fixes the last case of fuzzer errors detected by #572 .
2025-08-28 16:42:03 -07:00
Michael Hansen
38799f5cfb
Also check EOF in getBuffer()
2025-08-28 15:58:28 -07:00
Michael Hansen
0e7be40367
Add some extra guards against null dereference and empty std::stack pops
...
Fixes segfault cases of #572
2025-08-28 15:36:35 -07:00
Michael Hansen
ff0c1450b4
Abort immediately when attempting to read past end of stream.
...
No consumers of readByte() were actually checking for EOF, so they would
all keep re-reading the same byte over and over again, potentially until the
process runs out of memory (ref #572 ).
2025-08-28 15:14:55 -07:00
Alex
1d1237228a
Add missed python 3.14 cpp module
2025-07-27 14:46:12 +03:00
Alex
97e49d644f
Initial support for Python 3.14
2025-07-27 14:29:01 +03:00
Sahil Jain
e8e10f1419
Parse exception table
2025-07-15 22:47:02 +05:30
Michael Hansen
a267bfb47f
Merge pull request #561 from whoami730/bug-fix
...
Fix bug in RAISE_VARARGS
2025-07-04 12:41:02 -07:00
Sahil Jain
8b0ea9450e
Fix RAISE_VARARGS bug
2025-07-04 19:16:04 +05:30
db5f282e61
Merge branch 'master' into fork
2025-07-03 12:25:12 +08:00
Michael Hansen
7d2039d24e
Merge pull request #557 from whoami730/new-opcodes
...
Support py 3.12 opcodes: part 2
2025-07-02 07:58:23 -07:00
Michael Hansen
e64ea4bdec
Merge branch 'master' into new-opcodes
2025-07-02 07:56:28 -07:00
Michael Hansen
4badfa6321
Merge pull request #555 from whoami730/master
...
Support py 3.12 opcodes: part 1
2025-07-02 07:51:36 -07:00
Sahil Jain
6e0089e01c
Update
2025-07-01 22:52:59 +05:30
Sahil Jain
3afcfbc6a7
Fix compilation error
2025-07-01 14:01:05 +05:30
Sahil Jain
aa292c7682
Add newlines
2025-07-01 09:27:07 +05:30
Sahil Jain
5fe61462a2
Support COPY opcde
2025-07-01 09:25:49 +05:30
Sahil Jain
ad5f39db56
Support SLICE opcodes
2025-07-01 09:24:53 +05:30
Sahil Jain
97ec04789d
Add JUMP_BACKWARD + CACHE comments
2025-07-01 09:22:57 +05:30
Sahil Jain
6dae4e801f
Remove COPY opcode
2025-07-01 09:22:57 +05:30
Sahil Jain
040732920b
Add comment
2025-07-01 09:22:57 +05:30
Sahil Jain
a93fd14672
Add new loop tests
2025-07-01 09:22:57 +05:30
Sahil Jain
a4a6a24f3e
Support END_FOR opcode
2025-07-01 09:22:56 +05:30
Michael Hansen
307e0b8fd7
Update to upload-artifact/v4 to fix CI
2025-06-30 19:21:38 -07:00
299a59f0a9
ci: build workflow
2025-03-17 20:36:42 +08:00
45ea5f4ac8
fix: flush das before dc
2025-03-14 22:25:48 +08:00
33f2cc57c0
chore: remove codeql
2025-03-11 13:26:41 +08:00
e4f96df166
fix: avoid popping defblock and segfault
2025-03-07 15:36:03 +08:00
93c9e47e82
sync with d9e00c3
2025-03-07 11:59:55 +08:00
a2b8ab1205
sync with dc5d2b9
2025-03-05 22:55:46 +08:00
Michael Hansen
5e1c4037a9
Merge pull request #522 from samyk/report-invalid-opcode
...
show INVALID opcode properly if < 0
2024-10-13 09:54:24 -07:00
samy kamkar
bbc19885f4
show INVALID opcode properly if < 0
2024-10-12 13:45:16 -07:00
Michael Hansen
dc6ca4ae36
Remove additional specialized opcode that wasn't ordered with the others
2024-08-12 11:39:36 -07:00
Michael Hansen
19f8372358
Remove specialized opcodes.
...
They are used at runtime, and not written to .pyc / .pyo objects.
2024-08-12 11:24:07 -07:00
Michael Hansen
f37caa8f2a
Test runner refactor ( #508 )
...
* Port test runner script to Python.
This allows us to keep the test output in sorted order while still running the
tests in parallel. It also now defaults to using the number of available CPU
threads for parallel execution, rather than the previously hard-coded default.
* Also port decompyle_test.sh script to python within run_tests.py
* Fix cmake check target for multi-config generators.
Adds testing of release builds on both MSVC and GCC.
* Fix diff comparisons on Windows
* Ubuntu runners don't have ninja by default
2024-08-08 15:55:35 -07:00
Michael Hansen
b939aeb87c
Update operand documentation for new opcodes and oparg changes.
...
Also extends the disassembly oparg decoding for new 3.13 additions.
2024-08-07 15:44:36 -07:00
Alex
75de28decc
Python 3.13 initial support ( #497 )
...
* Support for JUMP_BACKWARD
* Initial support for Python 3.13
* Remove opcode from another old PR, not needed in the current one
* Update bytes/python_3_13.cpp
Co-authored-by: Michael Hansen <zrax0111@gmail.com >
* Update bytecode_ops.inl
Co-authored-by: Michael Hansen <zrax0111@gmail.com >
* Update .gitignore
Co-authored-by: Michael Hansen <zrax0111@gmail.com >
* Update bytecode_ops.inl
---------
Co-authored-by: Michael Hansen <zrax0111@gmail.com >
2024-08-07 15:39:40 -07:00
Michael Hansen
48d1bfa59f
Fix a null dereference.
...
Fixes #486
2024-08-06 08:21:12 -07:00
Alex
cb32b581ee
Add one more missed flag: CO_ASYNC_GENERATOR ( #505 )
...
* Support for JUMP_BACKWARD
* Add missed flag CO_ASYNC_GENERATOR
* Revert "Support for JUMP_BACKWARD"
This reverts commit 81543ece8c481b6e6b0f5724d8aa6766d3dcb8ae.
2024-08-05 12:35:10 -07:00
Michael Hansen
c925dafcdf
Also update the disassembly output to match the new flag values
2024-08-04 12:55:35 -07:00
Michael Hansen
0942dec653
Adjust CO_FUTURE_ flags to match Python 3.8 changes, and add some missing flags
...
Fixes #504
2024-08-04 12:55:28 -07:00