summaryrefslogtreecommitdiffstats
path: root/Python
Commit message (Collapse)AuthorAgeFilesLines
* gh-95778: add doc missing in some places (GH-100627)Éric2022-12-301-0/+2
|
* gh-100577: Replace `assert(0)` with `Py_UNREACHABLE` in `symtable.c` (#100579)Nikita Sobolev2022-12-281-1/+1
|
* GH-98831: Modernize a ton of simpler instructions (#100545)Guido van Rossum2022-12-282-342/+230
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * load_const and load_fast aren't families for now * Don't decref unmoved names * Modernize GET_ANEXT * Modernize GET_AWAITABLE * Modernize ASYNC_GEN_WRAP * Modernize YIELD_VALUE * Modernize POP_EXCEPT (in more than one way) * Modernize PREP_RERAISE_STAR * Modernize LOAD_ASSERTION_ERROR * Modernize LOAD_BUILD_CLASS * Modernize STORE_NAME * Modernize LOAD_NAME * Modernize LOAD_CLASSDEREF * Modernize LOAD_DEREF * Modernize STORE_DEREF * Modernize COPY_FREE_VARS (mark it as done) * Modernize LIST_TO_TUPLE * Modernize LIST_EXTEND * Modernize SET_UPDATE * Modernize SETUP_ANNOTATIONS * Modernize DICT_UPDATE * Modernize DICT_MERGE * Modernize MAP_ADD * Modernize IS_OP * Modernize CONTAINS_OP * Modernize CHECK_EXC_MATCH * Modernize IMPORT_NAME * Modernize IMPORT_STAR * Modernize IMPORT_FROM * Modernize JUMP_FORWARD (mark it as done) * Modernize JUMP_BACKWARD (mark it as done)
* gh-100357: Convert several functions in `bltinsmodule` to AC (#100358)Nikita Sobolev2022-12-242-99/+303
|
* gh-99947: Ensure unreported errors are chained for SystemError during import ↵Sebastian Berg2022-12-231-2/+1
| | | | (GH-99946)
* GH-100425: Improve accuracy of builtin sum() for float inputs (GH-100426)Raymond Hettinger2022-12-231-1/+20
|
* Revert "gh-100288: Specialise LOAD_ATTR_METHOD for managed dictionaries ↵Ken Jin2022-12-234-70/+15
| | | | | (GH-100289)" (#100468) This reverts commit c3c7848a48b74a321632202e4bdcf2f465fb1cc6.
* gh-100288: Specialise LOAD_ATTR_METHOD for managed dictionaries (GH-100289)Ken Jin2022-12-234-15/+70
|
* GH-100459: fix copy-paste errors in specialization stats (GH-100460)Irit Katriel2022-12-231-5/+5
|
* GH-99554: Trim trailing whitespace (GH-100435)Brandt Bucher2022-12-221-1/+1
| | | Automerge-Triggered-By: GH:brandtbucher
* GH-99770: Make the correct call specialization fail kind show up in the ↵penguin_wwy2022-12-221-63/+84
| | | | stats (GH-99771)
* gh-99761: Add `_PyLong_IsPositiveSingleDigit` function to check for single ↵Pieter Eendebak2022-12-222-10/+6
| | | | digit integers (#100064)
* GH-99554: Pack location tables more effectively (GH-99556)Brandt Bucher2022-12-221-23/+44
|
* gh-100188: Reduce misses in BINARY_SUBSCR_(LIST/TUPLE)_INT (#100189)Dennis Sweeney2022-12-201-4/+12
| | | Don't specialize if the index is negative.
* Correct CVE-2020-10735 documentation (#100306)Jeremy Paige2022-12-182-4/+4
|
* gh-99240: Reset pointer to NULL when the pointed memory is freed in argument ↵colorfulappl2022-12-171-5/+5
| | | | | | parsing (#99890) Co-authored-by: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com> Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
* GH-98831: Add DECREF_INPUTS(), expanding to DECREF() each stack input (#100205)Guido van Rossum2022-12-171-18/+13
| | | | | | | | | | | | | | | | | | | The presence of this macro indicates that a particular instruction may be considered for conversion to a register-based format (see https://github.com/faster-cpython/ideas/issues/485). An invariant (currently unchecked) is that `DEOPT_IF()` may only occur *before* `DECREF_INPUTS()`, and `ERROR_IF()` may only occur *after* it. One reason not to check this is that there are a few places where we insert *two* `DECREF_INPUTS()` calls, in different branches of the code. The invariant checking would have to be able to do some flow control analysis to understand this. Note that many instructions, especially specialized ones, can't be converted to use this macro straightforwardly. This is because the generator currently only generates plain `Py_DECREF(variable)` statements, and cannot generate things like `_Py_DECREF_SPECIALIZED()` let alone deal with `_PyList_AppendTakeRef()`.
* GH-90043: Handle NaNs in COMPARE_OP_FLOAT_JUMP (GH-100278)Brandt Bucher2022-12-163-24/+21
|
* Improve stats presentation for calls. (GH-100274)Mark Shannon2022-12-161-37/+22
|
* Better stats for `LOAD_ATTR` and `STORE_ATTR` (GH-100295)Mark Shannon2022-12-161-12/+35
| | | | | * Don't attempt to specialize for LOAD_ATTR on instance if class has attribute * Improvement to LOAD_ATTR and STORE_ATTR specialization stats.
* Move stats for the method cache into the `Py_STAT` machinery (GH-100255)Mark Shannon2022-12-151-0/+5
|
* GH-100222: fix typo _py_set_opocde -> _py_set_opcode (GH-100259)Carl Meyer2022-12-151-65/+65
| | | | | Typo introduced in #100223. Automerge-Triggered-By: GH:brandtbucher
* GH-100000: Cleanup and polish various watchers code (GH-99998)Itamar Ostricher2022-12-141-0/+4
| | | | | | * Initialize `type_watchers` array to `NULL`s * Optimize code watchers notification * Optimize func watchers notification
* Assorted minor fixes for specialization stats. (GH-100219)Mark Shannon2022-12-141-17/+34
|
* GH-100222: Redefine _Py_CODEUNIT as a union to clarify structure of code ↵Mark Shannon2022-12-144-91/+101
| | | | unit. (GH-100223)
* gh-99955: undef ERROR and SUCCESS before redefining (fixes sanitizer ↵Irit Katriel2022-12-131-0/+2
| | | | warning) (#100215)
* gh-81057: Move Signal-Related Globals to _PyRuntimeState (gh-100085)Eric Snow2022-12-121-1/+0
| | | https://github.com/python/cpython/issues/81057
* GH-100143: Improve collecting pystats for parts of runs (GH-100144)Michael Droettboom2022-12-122-6/+16
| | | | | | | | * pystats off by default * Add -Xpystats flag * Always dump pystats, even if turned off
* gh-99955: standardize return values of functions in compiler's code-gen ↵Irit Katriel2022-12-121-760/+694
| | | | (#100010)
* gh-96715 Remove redundant NULL check in `profile_trampoline` function (#96716)chgnrdv2022-12-121-4/+0
| | | Closes #96715
* gh-81057: Fix the wasm32-wasi Buildbot (gh-100139)Eric Snow2022-12-091-1/+2
| | | | | The build was broken by gh-100084. https://github.com/python/cpython/issues/81057
* GH-98522: Add version number to code objects. (GH-98525)Mark Shannon2022-12-092-0/+2
| | | | | | * Add version number to code object for better versioning of functions. * Improves specialization for closures and list comprehensions.
* GH-100110: Specialize FOR_ITER for tuples (GH-100109)Ken Jin2022-12-094-12/+62
| | | * Specialize FOR_ITER for tuples
* gh-81057: Move Threading-Related Globals to _PyRuntimeState (#100084)Eric Snow2022-12-094-48/+24
| | | https://github.com/python/cpython/issues/81057
* gh-81057: Move Ceval Trampoline Globals to _PyRuntimeState (gh-100083)Eric Snow2022-12-091-30/+14
| | | https://github.com/python/cpython/issues/81057
* GH-98831: Generate things in the input order (#100123)Guido van Rossum2022-12-081-237/+237
| | | | This makes it easier to see what changed in the generated code when converting an instruction to super or macro.
* gh-81057: Move time Globals to _PyRuntimeState (gh-100122)Eric Snow2022-12-081-0/+5
| | | https://github.com/python/cpython/issues/81057
* GH-98831: Typed stack effects, and more instructions converted (#99764)Guido van Rossum2022-12-082-469/+366
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Stack effects can now have a type, e.g. `inst(X, (left, right -- jump/uint64_t)) { ... }`. Instructions converted to the non-legacy format: * COMPARE_OP * COMPARE_OP_FLOAT_JUMP * COMPARE_OP_INT_JUMP * COMPARE_OP_STR_JUMP * STORE_ATTR * DELETE_ATTR * STORE_GLOBAL * STORE_ATTR_INSTANCE_VALUE * STORE_ATTR_WITH_HINT * STORE_ATTR_SLOT, and complete the store_attr family * Complete the store_subscr family: STORE_SUBSCR{,DICT,LIST_INT} (STORE_SUBSCR was alread half converted, but wasn't using cache effects yet.) * DELETE_SUBSCR * PRINT_EXPR * INTERPRETER_EXIT (a bit weird, ends in return) * RETURN_VALUE * GET_AITER (had to restructure it some) The original had mysterious `SET_TOP(NULL)` before `goto error`. I assume those just account for `obj` having been decref'ed, so I got rid of them in favor of the cleanup implied by `ERROR_IF()`. * LIST_APPEND (a bit unhappy with it) * SET_ADD (also a bit unhappy with it) Various other improvements/refactorings as well.
* gh-81057: Move More Globals to _PyRuntimeState (gh-100092)Eric Snow2022-12-072-14/+8
| | | https://github.com/python/cpython/issues/81057
* GH-99729: Unlink frames before clearing them (GH-100030)Brandt Bucher2022-12-064-11/+15
|
* gh-99741: Implement Multi-Phase Init for the _xxsubinterpreters Module ↵Eric Snow2022-12-051-56/+128
| | | | | | | (gh-99742) _xxsubinterpreters is an internal module used for testing. https://github.com/python/cpython/issues/99741
* bpo-15999: Accept arbitrary values for boolean parameters. (#15609)Serhiy Storchaka2022-12-032-5/+5
| | | builtins and extension module functions and methods that expect boolean values for parameters now accept any Python object rather than just a bool or int type. This is more consistent with how native Python code itself behaves.
* GH-98831: Support cache effects in super- and macro instructions (#99601)Guido van Rossum2022-12-031-2/+2
|
* gh-99741: Clean Up the _xxsubinterpreters Module (gh-99940)Eric Snow2022-12-021-9/+11
| | | | | This cleanup up resolves a few subtle bugs and makes the implementation for multi-phase init much cleaner. https://github.com/python/cpython/issues/99741
* gh-99955: standardize return values of functions in assembler and optimizer. ↵Irit Katriel2022-12-021-42/+54
| | | | (#99956)
* gh-99741: Fix the Cross-Interpreter Data API (gh-99939)Eric Snow2022-12-021-23/+84
| | | | | There were some minor issues that showed up while I was working on porting _xxsubinterpreters to multi-phase init. This fixes them. https://github.com/python/cpython/issues/99741
* GH-91054: Add code object watchers API (GH-99859)Itamar Ostricher2022-12-021-0/+5
| | | | | | * Add API to allow extensions to set callback function on creation and destruction of PyCodeObject Co-authored-by: Ye11ow-Flash <janshah@cs.stonybrook.edu>
* gh-89189: More compact range iterator (GH-27986)Serhiy Storchaka2022-11-302-6/+8
|
* GH-99877)Irit Katriel2022-11-301-23/+41
|
* gh-87092: move all localsplus preparation into separate function called from ↵Irit Katriel2022-11-301-30/+41
| | | | assembler stage (GH-99869)