summaryrefslogtreecommitdiffstats
path: root/Python
Commit message (Collapse)AuthorAgeFilesLines
* gh-123881: make compiler add the .generic_base base class without ↵Irit Katriel2024-09-102-46/+52
| | | | | | constructing AST nodes (#123883)
* gh-122239: Add actual count in unbalanced unpacking error message when ↵Tushar Sadhwani2024-09-101-0/+11
| | | | possible (#122244)
* gh-123892: Add "_wmi" to sys.stdlib_module_names (#123893)Victor Stinner2024-09-101-0/+1
|
* gh-121404: split compile.c into compile.c and codegen.c (#123651)Irit Katriel2024-09-093-6644/+6521
|
* gh-123275: Support `-Xgil=1` and `PYTHON_GIL=1` on non-free-threaded builds ↵Peter Bierma2024-09-051-4/+8
| | | | (gh-123276)
* GH-123545: Remove duplicate Py_DECREF when handling _PyOptimizer_Optimize ↵Savannah Ostrowski2024-09-052-8/+0
| | | | errors (GH-123546)
* gh-107954, PEP 741: Add PyInitConfig_AddModule() function (#123668)Victor Stinner2024-09-041-0/+35
|
* gh-107954, PEP 741: Adjust Python initialization config (#123663)Victor Stinner2024-09-041-3/+9
| | | | | | | Setting dev_mode to 1 in an isolated configuration now enables also faulthandler. Moreover, setting "module_search_paths" option with PyInitConfig_SetStrList() now sets "module_search_paths_set" to 1.
* gh-121804: always show error location for SyntaxError's in basic repl (#123202)Sergey B Kirpichev2024-09-031-0/+31
|
* gh-107954, PEP 741: Add PyInitConfig C API (#123502)Victor Stinner2024-09-031-8/+485
| | | Add Doc/c-api/config.rst documentation.
* gh-107954, PEP 741: Add PyConfig_Get()/Set() functions (#123472)Victor Stinner2024-09-022-194/+844
| | | | | | | | | | | Add PyConfig_Get(), PyConfig_GetInt(), PyConfig_Set() and PyConfig_Names() functions to get and set the current runtime Python configuration. Add visibility and "sys spec" to config and preconfig specifications. _PyConfig_AsDict() now converts PyConfig.xoptions as a dictionary. Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
* gh-121404: enforce that codegen doesn't access compiler, and compiler ↵Irit Katriel2024-09-021-85/+129
| | | | doesn't use codegen macros (#123575)
* gh-123091: Use more _Py_IsImmortalLoose() (GH-123602)Petr Viktorin2024-09-021-1/+1
| | | | | | | Switch more _Py_IsImmortal(...) assertions to _Py_IsImmortalLoose(...) The remaining calls to _Py_IsImmortal are in free-threaded-only code, initialization of core objects, tests, and guards that fall back to code that works with mortal objects.
* gh-123091: Use _Py_IsImmortalLoose() (#123511)Victor Stinner2024-09-023-6/+6
| | | | Use _Py_IsImmortalLoose() in bytesobject.c, typeobject.c and ceval.c.
* gh-123553: Fix compile warning in `compile.c` (#123578)sobolevn2024-09-011-0/+2
|
* gh-123553: Fix compiler warning in `Python/compile.c` (#123554)Kirill Podoprigora2024-09-011-0/+2
|
* gh-121404: rearrange code in compile.c so that codegen functions come first ↵Irit Katriel2024-08-301-1033/+1071
| | | | and compiler functions second (#123510)
* gh-122854: Add Py_HashBuffer() function (#122855)Victor Stinner2024-08-302-7/+10
|
* gh-121485: Always use 64-bit integers for integers bits count (GH-121486)Serhiy Storchaka2024-08-301-7/+7
| | | | | Use 64-bit integers instead of platform specific size_t or Py_ssize_t to represent the number of bits in Python integer.
* gh-123142: fix too wide source location of GET_ITER/GET_AITER (#123420)Irit Katriel2024-08-281-8/+7
|
* gh-123344: Add missing ast optimizations for PEP 696 (#123377)Bogdan Romanyuk2024-08-281-0/+3
| | | | Co-authored-by: Kirill Podoprigora <kirill.bast9@mail.ru> Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
* gh-123271: Make builtin zip method safe under free-threading (#123272)Pieter Eendebak2024-08-271-1/+2
| | | | | | | | | | | | | | | | The `zip_next` function uses a common optimization technique for methods that generate tuples. The iterator maintains an internal reference to the returned tuple. When the method is called again, it checks if the internal tuple's reference count is 1. If so, the tuple can be reused. However, this approach is not safe under the free-threading build: after checking the reference count, another thread may perform the same check and also reuse the tuple. This can result in a double decref on the items of the replaced tuple and a double incref (memory leak) on the items of the tuple being set. This adds a function, `_PyObject_IsUniquelyReferenced` that encapsulates the stricter logic necessary for the free-threaded build: the internal tuple must be owned by the current thread, have a local refcount of one, and a shared refcount of zero.
* gh-121404: split compiler_nameop into a codegen part and a compiler part ↵Irit Katriel2024-08-271-89/+101
| | | | (#123398)
* GH-117759: Document incremental GC (GH-123266)Mark Shannon2024-08-271-11/+16
| | | | | | * Update what's new * Update gc module docs and fix inconsistency in gc.get_objects
* gh-121404: compiler_visit_* --> codegen_visit_* (#123382)Irit Katriel2024-08-271-61/+49
|
* GH-123232: Factor BINARY_SLICE and STORE_SLICE to handle stats properly for ↵Mark Shannon2024-08-273-34/+66
| | | | tier 2. (GH-123381)
* Remove comment from pystate created in 2003 (#123259)Anthony Shaw2024-08-241-5/+0
|
* gh-117376: Make `Py_DECREF` a macro in ceval.c in free-threaded build (#122975)Sam Gross2024-08-231-15/+44
| | | | | | | | | | | `Py_DECREF` and `PyStackRef_CLOSE` are now implemented as macros in the free-threaded build in ceval.c. There are two motivations; * MSVC has problems inlining functions in ceval.c in the PGO build. * We will want to mark escaping calls in order to spill the stack pointer in ceval.c and we will want to do this around `_Py_Dealloc` (or `_Py_MergeZeroLocalRefcount` or `_Py_DecRefShared`), not around the entire `Py_DECREF` or `PyStackRef_CLOSE` call.
* gh-123205: `Python/bytecodes.c`: Fix compiler warning (#123206)Kirill Podoprigora2024-08-233-3/+3
| | | Fix MSVC warning "conversion from '__int64' to 'int'"
* gh-121404: more compiler_* -> codegen_*, class_body and comprehensions (#123262)Irit Katriel2024-08-231-59/+82
|
* GH-122298: Restore printing of GC stats (GH-123261)Mark Shannon2024-08-231-0/+25
|
* GH-123232: Fix "not specialized" stats (GH-123236)Mark Shannon2024-08-234-2/+18
|
* gh-121404: compiler_annassign --> codegen_annassign (#123245)Irit Katriel2024-08-231-63/+100
|
* GH-123040: Specialize shadowed `LOAD_ATTR`. (GH-123219)Mark Shannon2024-08-234-138/+261
|
* gh-123083: Fix a potential use-after-free in ``STORE_ATTR_WITH_HINT`` ↵Donghee Na2024-08-223-18/+21
| | | | (gh-123092)
* gh-121404: remove redundant c_nestlevel. more compiler abstractions. more ↵Irit Katriel2024-08-221-118/+111
| | | | macro usage consistency (#123225)
* GH-123197: Only count an instruction as deferred if it hasn't deopted first. ↵Mark Shannon2024-08-223-30/+31
| | | | | (GH-123222) Only count an instruction as deferred if hasn't deopted first.
* GH-118093: Specialize calls to non-vectorcall classes as ↵Brandt Bucher2024-08-221-5/+1
| | | | | `CALL_NON_PY_GENERAL` (GH-123212) Specialize classes without vectorcall as CALL_NON_PY_GENERAL
* gh-123142: Fix too wide source locations in tracebacks of exceptions from ↵Irit Katriel2024-08-211-2/+3
| | | | broken iterables in comprehensions (#123173)
* GH-115776: Allow any fixed sized object to have inline values (GH-123192)Mark Shannon2024-08-218-31/+50
|
* gh-121404: split fblock handling into compiler_* and codegen_* parts (#123199)Irit Katriel2024-08-211-15/+24
|
* GH-123197: Increment correct stat for CALL_KW (GH-123200)Mark Shannon2024-08-212-2/+2
|
* GH-123185: Check for `NULL` after calling `_PyEvalFramePushAndInit` (GH-123194)Mark Shannon2024-08-213-3/+15
|
* GH-118093: Make `CALL_ALLOC_AND_ENTER_INIT` suitable for tier 2. (GH-123140)Mark Shannon2024-08-208-145/+287
| | | | | * Convert CALL_ALLOC_AND_ENTER_INIT to micro-ops such that tier 2 supports it * Allow inexact arguments for CALL_ALLOC_AND_ENTER_INIT.
* gh-123048: Fix missing source location in pattern matching code (#123167)Irit Katriel2024-08-201-1/+1
|
* gh-121404: rename functions to use codegen_* prefix. Use macros more ↵Irit Katriel2024-08-191-349/+303
| | | | consistently. (#123139)
* gh-121404: pass metadata to compiler_enter_scope (optionally) so that ↵Irit Katriel2024-08-191-58/+82
| | | | codegen functions don't need to set it on the code unit (#123078)
* GH-118093: Specialize `CALL_KW` (GH-123006)Mark Shannon2024-08-168-15/+749
|
* gh-121404: rename compiler_addop* to codegen_addop*, and replace direct ↵Irit Katriel2024-08-161-96/+102
| | | | usages by the macros (#123043)
* Add debug offsets for free threaded builds (#123041)Pablo Galindo Salgado2024-08-152-2/+4
|