Commit Graph

36 Commits

Author SHA1 Message Date
Jeong, YunWon
9a0511be0b Align specialization guards and caching with CPython (#7341)
* vm: complete specialized opcode dispatch paths

* vm: cache LOAD_GLOBAL with dict entry hints

* vm: align adaptive specialization counters with CPython backoff

* vm: apply cooldown counter on specialization success paths

* vm: retain LOAD_GLOBAL specializations on misses

* vm: keep attr and call specializations on guard misses

* vm: retain store-attr and store-subscr specializations on misses

* vm: retain specialization opcodes on generic fallback paths

* vm: align jump-backward specialization defaults with CPython

* vm: retain exact-args call specializations on misses

* vm: retain SEND_GEN specialization on non-coroutine sends

* vm: specialize list.append calls like CPython CALL_LIST_APPEND

* vm: set cooldown on LOAD_ATTR_CLASS specialization

* vm: specialize bound method object CALL paths

* vm: specialize CALL_KW for bound method objects

* vm: use current-state function version for CALL_KW specialization

* vm: align CALL/CALL_KW pyfunction specialization with CPython

* vm: drop call-site identity caches in generic CALL specializations

* vm: align builtin type call specializations with CPython guards

* vm: align builtin CALL guards with CPython self_or_null semantics

* vm: require exact list in CALL_LIST_APPEND fast path

* vm: align CALL builtin/class specialization flow with CPython

* vm: tighten len/isinstance CALL specializations to builtin guards

* vm: gate CALL_BUILTIN_CLASS on type vectorcall like CPython

* vm: run non-py CALL specializations via direct vectorcall

* vm: align class-call specialization branching with CPython

* Fix CI: disable ForIterGen, tighten CALL guards

- Disable ForIterGen specialization (falls through to generic
  path) because inline generator frame resumption is needed
  for correct debugger StopIteration visibility (test_bdb)
- Use downcast_ref_if_exact for PyNativeFunction in CALL
  specialization guards
- Add can_specialize_call guard for class __init__ specialization
- Remove expectedFailure for test_bad_newobj_args (now passing)
2026-03-05 01:59:44 +09:00
Shahar Naveh
29e7f97ef9 Remove redundant patches from test_pickle.py (#7128) 2026-02-14 19:59:47 +09:00
Jeong, YunWon
cc8d9a2c53 Remove expectedFailure from test_bad_newobj_ex_args 2026-02-12 01:49:31 +09:00
ShaharNaveh
bff70f957f Remove redundunt test_pickle tests 2026-02-08 08:54:38 +09:00
Jeong, YunWon
8127000080 Impl more codecs and _codecs._unregister_error (#7025)
- Rewrite _pycodecs.py: escape_decode, charmap_decode,
  unicode_escape_decode/encode, raw_unicode_escape_decode/encode
- Add _codecs._unregister_error with built-in handler protection
  and null byte/surrogate validation
- Normalize encoding name in register_manual
- Add codec error notes via add_note
- Fix cp65001 encoding constant in StandardEncoding::parse
- Remove 35 expectedFailure markers from test_codecs,
  test_pickle, test_datetime, pickletools
2026-02-06 20:37:18 +09:00
ShaharNaveh
d4c268c834 Update test_pickle.py from 3.14.3 2026-02-05 15:52:00 +02:00
ShaharNaveh
00ea4636a1 Mark failing tests 2026-02-05 14:19:41 +02:00
Shahar Naveh
e2ee2067f8 Update pickle.py from 3.14.2 (#6982)
* Update `_compat_pickle.py` from 3.14.2

* Update `pickle.py` from 3.14.2

* Update pickletools and tests

* Update all other pickle related files

* Make `test_extcall` to use modified doctest checker
2026-02-05 19:27:10 +09:00
Jeong YunWon
bc02b2318c module_exec 2026-01-21 22:39:40 +09:00
Jeong, YunWon
522793850a mark and unmark unittest functions 2026-01-17 19:21:38 +09:00
Jeong, YunWon
02cc257b42 Support pickle better with __getnewargs_ex__ (#6749)
* Implement pickle more

* add weakref check

* check exports in __setstate__

* remove reducelib
2026-01-17 18:37:16 +09:00
Jeong, YunWon
c9bf8df19c copyslot for init (#6515) 2025-12-26 09:46:33 +09:00
Shahar Naveh
72fc3c0ba4 Update pickle{tools,}.py from 3.13.5 (#6064) 2025-08-04 20:09:36 +09:00
ShaharNaveh
26cdbfe048 Mark tests correctly 2025-07-25 15:59:14 +02:00
ShaharNaveh
7f97034055 Mark failing tests 2025-07-25 14:53:03 +02:00
ShaharNaveh
68cd33f37e Update pickle tests from 3.13.5 2025-07-25 14:53:03 +02:00
Aneesh Durg
323ea3b96b Support incomplete parsing (#5764)
* continue accepting REPL input for multiline strings

* Match cpython behavior for all multi-line statements (execute when complete)

* Emit _IncompleteInputError when compiling with incomplete flag

* Refine when _IncompleteInputError is emitted

* Support multiline strings emitting _IncompleteInputError

* lint

* Undo accidental change to PyTabError

* match -> if let

* Fix test_baseexception and test_codeop

* fix spelling

* fix exception name

* Skip pickle test of _IncompleteInputError

* Use py3.15's codeop implementation

* Update Lib/test/test_baseexception.py

---------

Co-authored-by: Jeong, YunWon <69878+youknowone@users.noreply.github.com>
2025-06-05 14:41:56 +09:00
Jeong YunWon
ca2c1d0b48 Update pickle from CPython 3.12.2 2024-04-23 16:46:16 +09:00
Jeong, YunWon
e5ca631b52 Add bare ExceptionGroup (#5259) 2024-04-23 16:23:31 +09:00
Aziz Berkay Yesilyurt
6cf99b4415 Comment out ExceptionGroup
To be implemented
2023-03-10 15:54:51 +01:00
Aziz Berkay Yesilyurt
7a5d4ecdc9 update test_pickle.py from CPython 3.11 2023-03-10 15:54:29 +01:00
jeffwang0516
aa40195d24 Remove expected failures for method related tests 2022-10-21 14:29:19 +08:00
Kuan-Chun Wang
dda6f86ba3 Fix global behavior on class (#4234) 2022-10-21 13:06:50 +09:00
CPython Developers
81a53a16e3 Update pickle form CPython 3.10.6 2022-08-15 02:36:46 +09:00
Daeun Lee
48019563ad Implemente type __qualname__ setter 2022-08-11 07:21:09 +09:00
zer0who
8cbd2e53b2 deleted tested_newobj_generic&proxies 2022-07-14 21:01:21 +09:00
zer0who
aa047940c0 Deleted todo, expectedFailure 2022-07-14 21:01:14 +09:00
zer0who
8ad1ad28a0 Deleted todo lines behind code 2022-07-14 20:57:05 +09:00
zer0who
1c473b6536 Deleted todo, expectedFailure 2022-07-14 20:56:51 +09:00
Jeong YunWon
fd45e9e66b Merge pull request #3738 from gnsxun/notimpl_reduce
Add NotImplemented.__reduce__()
2022-05-22 14:01:52 +09:00
gnsxun
e5816a40ad delete expectedFailture 2022-05-22 13:07:02 +09:00
gnsxun
d1f22fe4c3 delete expectedFailtures 2022-05-22 12:40:57 +09:00
Jeong Yunwon
18306e6953 unmark test_pickle::test_exceptions and test_xml_etree::test_pickle 2022-03-22 04:36:16 +09:00
Padraic Fanning
707b5dfddc Change failure reason in test_pickle 2022-02-07 18:00:06 -05:00
Padraic Fanning
2b147e4d4c Mark erroring/failing tests 2022-02-06 19:46:38 -05:00
Padraic Fanning
6cc9849067 Add test_pickle from CPython 3.10 2022-02-06 17:59:15 -05:00