Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | GH-98831: Move assorted macros from ceval.h to a new header (#101116) | Guido van Rossum | 2023-01-18 | 3 | -383/+358 |
| | |||||
* | GH-98831: Implement array support in cases generator (#100912) | Guido van Rossum | 2023-01-17 | 3 | -121/+95 |
| | | | | | | | | You can now write things like this: ``` inst(BUILD_STRING, (pieces[oparg] -- str)) { ... } inst(LIST_APPEND, (list, unused[oparg-1], v -- list, unused[oparg-1])) { ... } ``` Note that array output effects are only partially supported (they must be named `unused` or correspond to an input effect). | ||||
* | GH-100982: Add `COMPARE_AND_BRANCH` instruction (GH-100983) | Mark Shannon | 2023-01-16 | 6 | -202/+199 |
| | |||||
* | GH-100892: consolidate `HEAD_LOCK/HEAD_UNLOCK` macros (#100953) | Kumar Aditya | 2023-01-15 | 2 | -9/+0 |
| | |||||
* | GH-98831: Identify instructions that don't use oparg (#100957) | Guido van Rossum | 2023-01-14 | 1 | -57/+57 |
| | | | | | | | For these the instr_format field uses IX instead of IB. Register instructions use IX, IB, IBBX, IBBB, etc. Also: Include the closing '}' in Block.tokens, for completeness | ||||
* | gh-86682: Adds sys._getframemodulename as an alternative to using _getframe ↵ | Steve Dower | 2023-01-13 | 2 | -1/+108 |
| | | | | | (GH-99520) Also updates calls in collections, doctest, enum, and typing modules to use _getframemodulename first when available. | ||||
* | GH-100923: Embed jump mask in `COMPARE_OP` oparg (GH-100924) | Mark Shannon | 2023-01-11 | 5 | -67/+68 |
| | |||||
* | GH-98831: Refactor instr format code and change to enum (#100895) | Guido van Rossum | 2023-01-09 | 1 | -168/+169 |
| | |||||
* | GH-100126: Skip incomplete frames in more places (GH-100613) | Brandt Bucher | 2023-01-09 | 4 | -22/+8 |
| | |||||
* | gh-87447: Fix walrus comprehension rebind checking (#100581) | Nikita Sobolev | 2023-01-08 | 1 | -1/+2 |
| | | | | Co-authored-by: Pablo Galindo Salgado <Pablogsal@gmail.com> Co-authored-by: Shantanu <12621235+hauntsaninja@users.noreply.github.com> | ||||
* | Update copyright years to 2023. (gh-100848) | Benjamin Peterson | 2023-01-08 | 1 | -1/+1 |
| | |||||
* | GH-90829: Fix empty iterable error message in min/max (#31181) | Nnarol | 2023-01-08 | 1 | -1/+1 |
| | |||||
* | gh-100776: Fix misleading default value in help(input) (#100788) | Shantanu | 2023-01-08 | 2 | -4/+4 |
| | |||||
* | gh-88696: clean up dead argument to compiler_make_closure (GH-100806) | Carl Meyer | 2023-01-07 | 1 | -23/+7 |
| | |||||
* | gh-100758: Refactor initialisation of frame headers into a single function ↵ | Irit Katriel | 2023-01-06 | 3 | -44/+11 |
| | | | | (_PyFrame_Initialize) (GH-100759) | ||||
* | GH-99005: More intrinsics (GH-100774) | Mark Shannon | 2023-01-06 | 6 | -88/+50 |
| | | | * Remove UNARY_POSITIVE, LIST_TO_TUPLE and ASYNC_GEN_WRAP, replacing them with intrinsics. | ||||
* | gh-98831: Regenerate Python/opcode_metadata.h (GH-100778) | Zachary Ware | 2023-01-05 | 1 | -4/+1 |
| | |||||
* | GH-98831: Update generate_cases.py: register inst, opcode_metadata.h (#100735) | Guido van Rossum | 2023-01-05 | 3 | -1/+216 |
| | | | | | | | | (These aren't used yet, but may be coming soon, and it's easier to keep this tool the same between branches.) Added a sanity check for all this to compile.c. Co-authored-by: Irit Katriel <iritkatriel@yahoo.com> | ||||
* | GH-99005: Add `CALL_INTRINSIC_1` instruction (GH-100771) | Mark Shannon | 2023-01-05 | 6 | -276/+233 |
| | | | | | | | | * Remove PRINT_EXPR instruction * Remove STOPITERATION_ERROR instruction * Remove IMPORT_STAR instruction | ||||
* | GH-100288: Remove LOAD_ATTR_METHOD_WITH_DICT instruction. (GH-100753) | Mark Shannon | 2023-01-05 | 4 | -67/+12 |
| | |||||
* | gh-100747: some compiler macros use c instead of C to access the compiler ↵ | Irit Katriel | 2023-01-04 | 1 | -7/+7 |
| | | | | (#100748) | ||||
* | GH-100719: Remove the `co_nplaincellvars` field from code objects. (GH-100721) | Mark Shannon | 2023-01-04 | 4 | -4/+4 |
| | |||||
* | gh-100146: Steal references from stack when building a list (#100147) | L. A. F. Pereira | 2023-01-03 | 2 | -10/+4 |
| | | | | | | | | | | When executing the BUILD_LIST opcode, steal the references from the stack, in a manner similar to the BUILD_TUPLE opcode. Implement this by offloading the logic to a new private API, _PyList_FromArraySteal(), that works similarly to _PyTuple_FromArraySteal(). This way, instead of performing multiple stack pointer adjustments while the list is being initialized, the stack is adjusted only once and a fast memory copy operation is performed in one fell swoop. | ||||
* | gh-95778: add doc missing in some places (GH-100627) | Éric | 2022-12-30 | 1 | -0/+2 |
| | |||||
* | gh-100577: Replace `assert(0)` with `Py_UNREACHABLE` in `symtable.c` (#100579) | Nikita Sobolev | 2022-12-28 | 1 | -1/+1 |
| | |||||
* | GH-98831: Modernize a ton of simpler instructions (#100545) | Guido van Rossum | 2022-12-28 | 2 | -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 Sobolev | 2022-12-24 | 2 | -99/+303 |
| | |||||
* | gh-99947: Ensure unreported errors are chained for SystemError during import ↵ | Sebastian Berg | 2022-12-23 | 1 | -2/+1 |
| | | | | (GH-99946) | ||||
* | GH-100425: Improve accuracy of builtin sum() for float inputs (GH-100426) | Raymond Hettinger | 2022-12-23 | 1 | -1/+20 |
| | |||||
* | Revert "gh-100288: Specialise LOAD_ATTR_METHOD for managed dictionaries ↵ | Ken Jin | 2022-12-23 | 4 | -70/+15 |
| | | | | | (GH-100289)" (#100468) This reverts commit c3c7848a48b74a321632202e4bdcf2f465fb1cc6. | ||||
* | gh-100288: Specialise LOAD_ATTR_METHOD for managed dictionaries (GH-100289) | Ken Jin | 2022-12-23 | 4 | -15/+70 |
| | |||||
* | GH-100459: fix copy-paste errors in specialization stats (GH-100460) | Irit Katriel | 2022-12-23 | 1 | -5/+5 |
| | |||||
* | GH-99554: Trim trailing whitespace (GH-100435) | Brandt Bucher | 2022-12-22 | 1 | -1/+1 |
| | | | Automerge-Triggered-By: GH:brandtbucher | ||||
* | GH-99770: Make the correct call specialization fail kind show up in the ↵ | penguin_wwy | 2022-12-22 | 1 | -63/+84 |
| | | | | stats (GH-99771) | ||||
* | gh-99761: Add `_PyLong_IsPositiveSingleDigit` function to check for single ↵ | Pieter Eendebak | 2022-12-22 | 2 | -10/+6 |
| | | | | digit integers (#100064) | ||||
* | GH-99554: Pack location tables more effectively (GH-99556) | Brandt Bucher | 2022-12-22 | 1 | -23/+44 |
| | |||||
* | gh-100188: Reduce misses in BINARY_SUBSCR_(LIST/TUPLE)_INT (#100189) | Dennis Sweeney | 2022-12-20 | 1 | -4/+12 |
| | | | Don't specialize if the index is negative. | ||||
* | Correct CVE-2020-10735 documentation (#100306) | Jeremy Paige | 2022-12-18 | 2 | -4/+4 |
| | |||||
* | gh-99240: Reset pointer to NULL when the pointed memory is freed in argument ↵ | colorfulappl | 2022-12-17 | 1 | -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 Rossum | 2022-12-17 | 1 | -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 Bucher | 2022-12-16 | 3 | -24/+21 |
| | |||||
* | Improve stats presentation for calls. (GH-100274) | Mark Shannon | 2022-12-16 | 1 | -37/+22 |
| | |||||
* | Better stats for `LOAD_ATTR` and `STORE_ATTR` (GH-100295) | Mark Shannon | 2022-12-16 | 1 | -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 Shannon | 2022-12-15 | 1 | -0/+5 |
| | |||||
* | GH-100222: fix typo _py_set_opocde -> _py_set_opcode (GH-100259) | Carl Meyer | 2022-12-15 | 1 | -65/+65 |
| | | | | | Typo introduced in #100223. Automerge-Triggered-By: GH:brandtbucher | ||||
* | GH-100000: Cleanup and polish various watchers code (GH-99998) | Itamar Ostricher | 2022-12-14 | 1 | -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 Shannon | 2022-12-14 | 1 | -17/+34 |
| | |||||
* | GH-100222: Redefine _Py_CODEUNIT as a union to clarify structure of code ↵ | Mark Shannon | 2022-12-14 | 4 | -91/+101 |
| | | | | unit. (GH-100223) | ||||
* | gh-99955: undef ERROR and SUCCESS before redefining (fixes sanitizer ↵ | Irit Katriel | 2022-12-13 | 1 | -0/+2 |
| | | | | warning) (#100215) | ||||
* | gh-81057: Move Signal-Related Globals to _PyRuntimeState (gh-100085) | Eric Snow | 2022-12-12 | 1 | -1/+0 |
| | | | https://github.com/python/cpython/issues/81057 |