summaryrefslogtreecommitdiffstats
path: root/Python
Commit message (Collapse)AuthorAgeFilesLines
...
* gh-98831: rewrite SEND, GET_YIELD_FROM_ITER, RETURN_GENERATOR in the ↵Irit Katriel2023-02-033-42/+40
| | | | instruction definition DSL (#101516)
* gh-98831: rewrite RERAISE and CLEANUP_THROW in the instruction definition ↵Irit Katriel2023-02-023-34/+34
| | | | DSL (#101511)
* gh-98831: Modernize the LOAD_GLOBAL family (#101502)Guido van Rossum2023-02-013-77/+66
|
* gh-98831: rewrite PUSH_EXC_INFO and conditional jumps in the instruction ↵Irit Katriel2023-02-014-98/+97
| | | | definition DSL (#101481)
* gh-98831: Modernize the LOAD_ATTR family (#101488)Guido van Rossum2023-02-013-230/+205
|
* GH-100288: Skip extra work when failing to specialize LOAD_ATTR (GH-101354)Brandt Bucher2023-01-311-60/+24
|
* gh-98831: rewrite BEFORE_ASYNC_WITH and END_ASYNC_FOR in the instruction ↵Irit Katriel2023-01-313-38/+40
| | | | definition DSL (#101458)
* gh-98831: rewrite GET_LEN, GET_ITER, BEFORE_WITH and a few simple opcodes in ↵Irit Katriel2023-01-313-69/+59
| | | | the instruction definition DSL (#101443)
* gh-99955: use SUCCESS/ERROR return values in optimizer and assembler. Use ↵Irit Katriel2023-01-311-189/+142
| | | | RETURN_IF_ERROR where appropriate. Fix a couple of bugs. (#101412)
* gh-101400: Fix incorrect lineno in exception message on continue/break which ↵Dong-hee Na2023-01-301-2/+4
| | | | are not in a loop (#101413)
* gh-59956: Clarify Runtime State Status Expectations (gh-101308)Eric Snow2023-01-303-149/+387
| | | | | | | | | | | | | A PyThreadState can be in one of many states in its lifecycle, represented by some status value. Those statuses haven't been particularly clear, so we're addressing that here. Specifically: * made the distinct lifecycle statuses clear on PyThreadState * identified expectations of how various lifecycle-related functions relate to status * noted the various places where those expectations don't match the actual behavior At some point we'll need to address the mismatches. (This change also includes some cleanup.) https://github.com/python/cpython/issues/59956
* GH-101291: Refactor the `PyLongObject` struct into object header and ↵Mark Shannon2023-01-305-22/+22
| | | | PyLongValue struct. (GH-101292)
* gh-98831: Support conditional effects; use for LOAD_ATTR (#101333)Guido van Rossum2023-01-303-51/+35
|
* gh-39615: fix warning on return type mismatch (#101407)Irit Katriel2023-01-301-1/+1
|
* gh-39615: Add warnings.warn() skip_file_prefixes support (#100840)Gregory P. Smith2023-01-282-34/+143
| | | | | `warnings.warn()` gains the ability to skip stack frames based on code filename prefix rather than only a numeric `stacklevel=` via a new `skip_file_prefixes=` keyword argument.
* Fix typos in pystate.c file (#101348)Виталий Дмитриев2023-01-261-5/+5
|
* gh-98831: rewrite RAISE_VARARGS in the instruction definition DSL (#101306)Irit Katriel2023-01-253-16/+16
|
* gh-98831: add variable stack effect support to cases generator (#101309)Irit Katriel2023-01-252-176/+864
|
* Fix some comments in ceval.c and fix lltrace output (#101297)Guido van Rossum2023-01-241-6/+4
| | | | | The comment at the top was rather outdated. :-) Also added a note about the dangers of dump_stack().
* gh-98831: rewrite pattern matching opcodes in the instruction definition DSL ↵Irit Katriel2023-01-243-69/+46
| | | | (#101287)
* GH-100762: Don't call `gen.throw()` in `gen.close()`, unless necessary. ↵Mark Shannon2023-01-244-6/+4
| | | | | | (GH-101013) * Store exception stack depth in YIELD_VALUE's oparg and use it avoid expensive gen.throw() in gen.close() where possible.
* gh-98831: rewrite CHECK_EG_MATCH opcode in the instruction definition DSL ↵Irit Katriel2023-01-244-60/+29
| | | | (#101269)
* gh-59956: Allow the "Trashcan" Mechanism to Work Without a Thread State ↵Eric Snow2023-01-231-0/+16
| | | | | | | | | | | | (gh-101209) We've factored out a struct from the two PyThreadState fields. This accomplishes two things: * make it clear that the trashcan-related code doesn't need any other parts of PyThreadState * allows us to use the trashcan mechanism even when there isn't a "current" thread state We still expect the caller to hold the GIL. https://github.com/python/cpython/issues/59956
* Fix typo in comment in compile.c (#101194)Ikko Eltociear Ashimine2023-01-201-1/+1
|
* gh-101181: Fix `unused-variable` warning in `pystate.c` (#101188)Nikita Sobolev2023-01-201-0/+3
| | | Co-authored-by: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com>
* gh-59956: Fix Function Groupings in pystate.c (gh-101172)Eric Snow2023-01-201-237/+352
| | | | | This is a follow-up to gh-101161. The objective is to make it easier to read Python/pystate.c by grouping the functions there in a consistent way. This exclusively involves moving code around and adding various kinds of comments. https://github.com/python/cpython/issues/59956
* gh-101169: reduce the implementation of except* by one bytecode instruction ↵Irit Katriel2023-01-191-16/+11
| | | | (#101170)
* gh-59956: Clarify GILState-related Code (gh-101161)Eric Snow2023-01-193-219/+344
| | | | | | | | | | The objective of this change is to help make the GILState-related code easier to understand. This mostly involves moving code around and some semantically equivalent refactors. However, there are a also a small number of slight changes in structure and behavior: * tstate_current is moved out of _PyRuntimeState.gilstate * autoTSSkey is moved out of _PyRuntimeState.gilstate * autoTSSkey is initialized earlier * autoTSSkey is re-initialized (after fork) earlier https://github.com/python/cpython/issues/59956
* gh-100712: make it possible to disable specialization (for debugging) (#100713)Irit Katriel2023-01-193-0/+60
|
* GH-98831: Move assorted macros from ceval.h to a new header (#101116)Guido van Rossum2023-01-183-383/+358
|
* GH-98831: Implement array support in cases generator (#100912)Guido van Rossum2023-01-173-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 Shannon2023-01-166-202/+199
|
* GH-100892: consolidate `HEAD_LOCK/HEAD_UNLOCK` macros (#100953)Kumar Aditya2023-01-152-9/+0
|
* GH-98831: Identify instructions that don't use oparg (#100957)Guido van Rossum2023-01-141-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 Dower2023-01-132-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 Shannon2023-01-115-67/+68
|
* GH-98831: Refactor instr format code and change to enum (#100895)Guido van Rossum2023-01-091-168/+169
|
* GH-100126: Skip incomplete frames in more places (GH-100613)Brandt Bucher2023-01-094-22/+8
|
* gh-87447: Fix walrus comprehension rebind checking (#100581)Nikita Sobolev2023-01-081-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 Peterson2023-01-081-1/+1
|
* GH-90829: Fix empty iterable error message in min/max (#31181)Nnarol2023-01-081-1/+1
|
* gh-100776: Fix misleading default value in help(input) (#100788)Shantanu2023-01-082-4/+4
|
* gh-88696: clean up dead argument to compiler_make_closure (GH-100806)Carl Meyer2023-01-071-23/+7
|
* gh-100758: Refactor initialisation of frame headers into a single function ↵Irit Katriel2023-01-063-44/+11
| | | | (_PyFrame_Initialize) (GH-100759)
* GH-99005: More intrinsics (GH-100774)Mark Shannon2023-01-066-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 Ware2023-01-051-4/+1
|
* GH-98831: Update generate_cases.py: register inst, opcode_metadata.h (#100735)Guido van Rossum2023-01-053-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 Shannon2023-01-056-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 Shannon2023-01-054-67/+12
|
* gh-100747: some compiler macros use c instead of C to access the compiler ↵Irit Katriel2023-01-041-7/+7
| | | | (#100748)