summaryrefslogtreecommitdiffstats
path: root/PCbuild
Commit message (Collapse)AuthorAgeFilesLines
* gh-126084: Fix venvwlauncher.exe to run pythonw.exe (GH-126088)Miss Islington (bot)2024-10-291-1/+1
| | | | | (cherry picked from commit 802d405ff1233a48004a7c9b302baa76291514d1) Co-authored-by: Christian Ullrich <chris@chrullrich.net>
* [3.13] gh-124448: Update Windows builds to use Tcl/Tk 8.6.15 (GH-125795)Zachary Ware2024-10-213-5/+5
| | | (cherry picked from commit 9d8f2d8e08336695fdade5846da4bbcc3eb5f152)
* [3.13] gh-125625: Check for `py -3.13` in PCbuild/find_python.bat (GH-125650)Miss Islington (bot)2024-10-171-1/+1
| | | | | (cherry picked from commit 0cb20f2e7e867d5c34fc17dd5b8e51e8b0020bb3) Co-authored-by: Wulian <xiguawulian@gmail.com>
* [3.13] gh-123418: Update OpenSSL to 3.0.15 on Windows (GH-123686)Miss Islington (bot)2024-09-042-4/+4
| | | | | (cherry picked from commit d2eafe2f48aac31aa8a152620bdfd0f2a274ee1d) Co-authored-by: Zachary Ware <zach@python.org>
* [3.13] gh-111495: Add tests for PyTuple C API (GH-118757) (GH-123371)Sergey B Kirpichev2024-08-272-0/+2
| | | | | | | (cherry picked from commit dbc1752d4107532d312c78263212e807a3674eb1) Co-authored-by: kalyanr <kalyan.ben10@live.com> Co-authored-by: Serhiy Storchaka <storchaka@gmail.com> Co-authored-by: Victor Stinner <vstinner@python.org>
* [3.13] gh-122573: Require Python 3.10 or newer for Windows builds ↵Miss Islington (bot)2024-08-061-3/+3
| | | | | | | | | | | | | (GH-122574) (#122674) gh-122573: Require Python 3.10 or newer for Windows builds (GH-122574) Match statements in tooling require a more recent Python. Tools/cases_generator/*.py (and `Tools/jit/*.py` in 3.13+). (cherry picked from commit d0b92dd5ca46a10558857adeb7bb48ecf39fa783) Co-authored-by: Jonathan Protzenko <protz@microsoft.com> Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com> Co-authored-by: Gregory P. Smith <greg@krypto.org>
* Fixed regenerating files in a checkout path with spaces (GH-121384)Miss Islington (bot)2024-07-081-9/+9
| | | | | (cherry picked from commit 0e77540d86833f0a0ef964ab51f35be9bfb533f9) Co-authored-by: AraHaan <seandhunt_7@yahoo.com>
* [3.13] gh-112136: Restore removed _PyArg_Parser (GH-121262) (#121344)Miss Islington (bot)2024-07-032-0/+4
| | | | | | | | | | | | gh-112136: Restore removed _PyArg_Parser (GH-121262) Restore the private _PyArg_Parser structure and the private _PyArg_ParseTupleAndKeywordsFast() function, previously removed in Python 3.13 alpha 1. Recreate Include/cpython/modsupport.h header file. (cherry picked from commit f8373db153920b890c2e2dd8def249e8df63bcc6) Co-authored-by: Victor Stinner <vstinner@python.org>
* [3.13] gh-120642: Move private PyCode APIs to the internal C API (#120643) ↵Victor Stinner2024-06-262-4/+0
| | | | | | | | | | | | | | | | | | | | | (#121043) gh-120642: Move private PyCode APIs to the internal C API (#120643) * Move _Py_CODEUNIT and related functions to pycore_code.h. * Move _Py_BackoffCounter to pycore_backoff.h. * Move Include/cpython/optimizer.h content to pycore_optimizer.h. * Remove Include/cpython/optimizer.h. * Remove PyUnstable_Replace_Executor(). Rename functions: * PyUnstable_GetExecutor() => _Py_GetExecutor() * PyUnstable_GetOptimizer() => _Py_GetOptimizer() * PyUnstable_SetOptimizer() => _Py_SetTier2Optimizer() * PyUnstable_Optimizer_NewCounter() => _PyOptimizer_NewCounter() * PyUnstable_Optimizer_NewUOpOptimizer() => _PyOptimizer_NewUOpOptimizer() (cherry picked from commit 9e4a81f00fef689c6e18a64245aa064eaadc7ac7)
* [3.13] gh-119344: Make critical section API public (GH-119353) (#120856)Sam Gross2024-06-212-0/+8
| | | | | | | | | | | This makes the following macros public as part of the non-limited C-API for locking a single object or two objects at once. * `Py_BEGIN_CRITICAL_SECTION(op)` / `Py_END_CRITICAL_SECTION()` * `Py_BEGIN_CRITICAL_SECTION2(a, b)` / `Py_END_CRITICAL_SECTION2()` The supporting functions and structs used by the macros are also exposed for cases where C macros are not available. (cherry picked from commit 8f17d69b7bc906e8407095317842cc0fd52cd84a)
* [3.13] gh-117511: Make PyMutex public in the non-limited API (GH-117731) ↵Sam Gross2024-06-202-0/+8
| | | | | (#120800) (cherry picked from commit 3af7263037de1d0ef63b070fc7bfc2cf042eaebe)
* gh-116145: Updated bundled Tcl/Tk on Windows to 8.6.14 (GH-117030)Miss Islington (bot)2024-05-312-4/+4
| | | | | (cherry picked from commit 0e8d35b931f41210483cc51c4169e9a943c7f166) Co-authored-by: Steve Dower <steve.dower@python.org>
* gh-118734: Fixes Windows build when Use_TIER2 is unspecified (#118735)Steve Dower2024-05-073-3/+3
|
* gh-118518: Allow perf to work without frame pointers (#112254)Pablo Galindo Salgado2024-05-054-0/+8
|
* gh-111997: C-API for signalling monitoring events (#116413)Irit Katriel2024-05-043-1/+5
|
* gh-115119: Update Windows installer to mpdecimal 4.0.0 (#118506)Erlend E. Aasland2024-05-032-2/+2
|
* gh-118335: Rename --experimental-interpreter on Windows to ↵Guido van Rossum2024-05-021-3/+3
| | | | | --experimental-jit-interpreter (#118497) Also fix docs for this in whatsnew.
* gh-118335: Configure Tier 2 interpreter at build time (#118339)Guido van Rossum2024-05-013-2/+16
| | | | | | | | | | | | | | | | | | | | | | The code for Tier 2 is now only compiled when configured with `--enable-experimental-jit[=yes|interpreter]`. We drop support for `PYTHON_UOPS` and -`Xuops`, but you can disable the interpreter or JIT at runtime by setting `PYTHON_JIT=0`. You can also build it without enabling it by default using `--enable-experimental-jit=yes-off`; enable with `PYTHON_JIT=1`. On Windows, the `build.bat` script supports `--experimental-jit`, `--experimental-jit-off`, `--experimental-interpreter`. In the C code, `_Py_JIT` is defined as before when the JIT is enabled; the new variable `_Py_TIER2` is defined when the JIT *or* the interpreter is enabled. It is actually a bitmask: 1: JIT; 2: default-off; 4: interpreter.
* gh-117139: Add header for tagged pointers (GH-118330)Ken Jin2024-04-302-0/+4
| | | | | --------- Co-authored-by: Sam Gross <655866+colesbury@users.noreply.github.com>
* gh-116122: Add SBOM generation to PCbuild/build.bat (GH-116138)Seth Michael Larson2024-04-301-2/+13
|
* gh-76785: Rename _xxsubinterpreters to _interpreters (gh-117791)Eric Snow2024-04-242-6/+6
| | | See https://discuss.python.org/t/pep-734-multiple-interpreters-in-the-stdlib/41147/26.
* gh-117968: Add tests for the part of the PyRun family of the C API (GH-117982)Serhiy Storchaka2024-04-172-0/+4
| | | | Co-authored-by: NGRsoftlab <78017794+NGRsoftlab@users.noreply.github.com> Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
* gh-115009: Update Windows installer to use SQLite 3.45.3 (GH-117445)Mariusz Felisiak2024-04-163-3/+3
|
* gh-117494: extract the Instruction Sequence data structure into a separate ↵Irit Katriel2024-04-044-0/+10
| | | | file (#117496)
* gh-116968: Reimplement Tier 2 counters (#117144)Guido van Rossum2024-04-041-0/+1
| | | | | | | | | | | | Introduce a unified 16-bit backoff counter type (``_Py_BackoffCounter``), shared between the Tier 1 adaptive specializer and the Tier 2 optimizer. The API used for adaptive specialization counters is changed but the behavior is (supposed to be) identical. The behavior of the Tier 2 counters is changed: - There are no longer dynamic thresholds (we never varied these). - All counters now use the same exponential backoff. - The counter for ``JUMP_BACKWARD`` starts counting down from 16. - The ``temperature`` in side exits starts counting down from 64.
* gh-76785: Add PyInterpreterConfig Helpers (gh-117170)Eric Snow2024-04-024-0/+8
| | | These helpers make it easier to customize and inspect the config used to initialize interpreters. This is especially valuable in our tests. I found inspiration from the PyConfig API for the PyInterpreterConfig dict conversion stuff. As part of this PR I've also added a bunch of tests.
* gh-94808:Improve coverage of PyObject_Print (GH-98749)MonadChains2024-04-012-0/+4
|
* gh-117323: Make `cell` thread-safe in free-threaded builds (#117330)Sam Gross2024-03-292-0/+4
| | | Use critical sections to lock around accesses to cell contents. The critical sections are no-ops in the default (with GIL) build.
* gh-87193: Support bytes objects with refcount > 1 in _PyBytes_Resize() ↵Serhiy Storchaka2024-03-252-0/+4
| | | | | (GH-117160) Create a new bytes object and destroy the old one if it has refcount > 1.
* gh-76785: Drop PyInterpreterID_Type (gh-117101)Eric Snow2024-03-214-16/+0
| | | I added it quite a while ago as a strategy for managing interpreter lifetimes relative to the PEP 554 (now 734) implementation. Relatively recently I refactored that implementation to no longer rely on InterpreterID objects. Thus now I'm removing it.
* gh-115754: Add Py_GetConstant() function (#116883)Victor Stinner2024-03-212-0/+2
| | | | | | | | | | | | Add Py_GetConstant() and Py_GetConstantBorrowed() functions. In the limited C API version 3.13, getting Py_None, Py_False, Py_True, Py_Ellipsis and Py_NotImplemented singletons is now implemented as function calls at the stable ABI level to hide implementation details. Getting these constants still return borrowed references. Add _testlimitedcapi/object.c and test_capi/test_object.py to test Py_GetConstant() and Py_GetConstantBorrowed() functions.
* gh-116417: Move limited C API complex.c tests to _testlimitedcapi (#117014)Victor Stinner2024-03-192-0/+2
| | | | Split complex.c tests of _testcapi into two parts: limited C API tests in _testlimitedcapi and non-limited C API tests in _testcapi.
* gh-116417: Move limited C API dict.c tests to _testlimitedcapi (#117006)Victor Stinner2024-03-192-0/+2
| | | | Split dict.c tests of _testcapi into two parts: limited C API tests in _testlimitedcapi and non-limited C API tests in _testcapi.
* gh-116417: Move limited C API long.c tests to _testlimitedcapi (#117001)Victor Stinner2024-03-192-0/+3
| | | | | | | * Split long.c tests of _testcapi into two parts: limited C API tests in _testlimitedcapi and non-limited C API tests in _testcapi. * Move testcapi_long.h from Modules/_testcapi/ to Modules/_testlimitedcapi/. * Add MODULE__TESTLIMITEDCAPI_DEPS to Makefile.pre.in.
* gh-116417: Move limited C API unicode.c tests to _testlimitedcapi (#116993)Victor Stinner2024-03-192-0/+2
| | | | | | Split unicode.c tests of _testcapi into two parts: limited C API tests in _testlimitedcapi and non-limited C API tests in _testcapi. Update test_codecs.
* gh-116417: Move limited C API abstract.c tests to _testlimitedcapi (#116986)Victor Stinner2024-03-192-0/+4
| | | | | | | Split abstract.c and float.c tests of _testcapi into two parts: limited C API tests in _testlimitedcapi and non-limited C API tests in _testcapi. Update test_bytes and test_class.
* gh-116417: Move limited C API list.c tests to _testlimitedcapi (#116602)Victor Stinner2024-03-182-0/+4
| | | | | Split list.c and set.c tests of _testcapi into two parts: limited C API tests in _testlimitedcapi and non-limited C API tests in _testcapi.
* gh-108716: Cleanup remaining deepfreeze infrastructure (#116919)Guido van Rossum2024-03-182-24/+0
| | | | | Keep Tools/build/deepfreeze.py around (we may repurpose it for deepfreezing non-code objects), and keep basic "clean" targets that remove the output of former deep-freeze activities, to keep the build directories of current devs clean.
* gh-115119: Switch Windows build to mpdecimal external (GH-115182)Zachary Ware2024-03-184-63/+75
| | | | | This includes adding what should be a relatively temporary `Modules/_decimal/windows/mpdecimal.h` shim to choose between `mpdecimal32vc.h` or `mpdecimal64vc.h` based on which of `CONFIG_64` or `CONFIG_32` is defined.
* gh-116417: Move 4 limited C API test files to _testlimitedcapi (#116571)Victor Stinner2024-03-114-25/+13
| | | | | | | | | | | | | | | | Move the following files from Modules/_testcapi/ to Modules/_testlimitedcapi/: * bytearray.c * bytes.c * pyos.c * sys.c Changes: * Replace PyBytes_AS_STRING() with PyBytes_AsString(). * Replace PyBytes_GET_SIZE() with PyBytes_Size(). * Update related test_capi tests. * Copy Modules/_testcapi/util.h to Modules/_testlimitedcapi/util.h.
* gh-116472: Replace literal newlines with escape characters in MSBuild files ↵Dan Albert2024-03-071-3/+1
| | | | (GH-116473)
* gh-116417: Add _testlimitedcapi C extension (#116419)Victor Stinner2024-03-076-28/+205
| | | | | | | | | | | | | Add a new C extension "_testlimitedcapi" which is only built with the limited C API. Move heaptype_relative.c and vectorcall_limited.c from Modules/_testcapi/ to Modules/_testlimitedcapi/. * configure: add _testlimitedcapi test extension. * Update generate_stdlib_module_names.py. * Update make check-c-globals. Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
* gh-108051: Update versions found by find_python.bat and clarify readme ↵Steve Dower2024-02-292-7/+18
| | | | (GH-116118)
* GH-115816: Make tier2 optimizer symbols testable, and add a few tests. ↵Mark Shannon2024-02-274-0/+8
| | | | (GH-115953)
* gh-115582: Make default PC/pyconfig.h work for free-threaded builds with ↵Steve Dower2024-02-261-1/+1
| | | | manual /DPy_GIL_DISABLED (GH-115850)
* Rename tier 2 redundancy eliminator to optimizer (#115888)Guido van Rossum2024-02-261-3/+3
| | | | The original name is just too much of a mouthful.
* gh-115700: Add target `_RegenCases` in Windows build for cases regeneration. ↵Kirill Podoprigora2024-02-201-3/+29
| | | | (GH-115708)
* gh-115103: Implement delayed memory reclamation (QSBR) (#115180)Sam Gross2024-02-164-0/+12
| | | | | | This adds a safe memory reclamation scheme based on FreeBSD's "GUS" and quiescent state based reclamation (QSBR). The API provides a mechanism for callers to detect when it is safe to free memory that may be concurrently accessed by readers.
* gh-115556: Remove quotes from command-line arguments in test.bat and rt.bat ↵Łukasz Langa2024-02-161-11/+11
| | | | | | | | | | | | (#115557) This change essentially replaces usage of `%1` with `%~1`, which removes quotes, if any. Without this change, the if statements fail due to the quotes mangling the syntax. Additionally, this change works around comma being treated as a parameter delimiter in test.bat by escaping commas at time of parsing. Tested combinations of rt and regrtest arguments, all seems to work as before but now you can specify commas in arguments like "-uall,extralargefile".
* gh-115041: Add wrappers that are atomic only in free-threaded builds (#115046)mpage2024-02-142-0/+4
| | | | | | These are intended to be used in places where atomics are required in free-threaded builds but not in the default build. We don't want to introduce the potential performance overhead of an atomic operation in the default build.