Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | GH-103906: Remove immortal refcounting in the interpreter (GH-103909) | Brandt Bucher | 2023-05-16 | 1 | -477/+459 |
| | |||||
* | gh-103865: add monitoring support to LOAD_SUPER_ATTR (#103866) | Carl Meyer | 2023-05-16 | 1 | -228/+262 |
| | |||||
* | gh-103763: Implement PEP 695 (#103764) | Jelle Zijlstra | 2023-05-16 | 1 | -438/+546 |
| | | | | | | | | | | | | | | This implements PEP 695, Type Parameter Syntax. It adds support for: - Generic functions (def func[T](): ...) - Generic classes (class X[T](): ...) - Type aliases (type X = ...) - New scoping when the new syntax is used within a class body - Compiler and interpreter changes to support the new syntax and scoping rules Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com> Co-authored-by: Eric Traut <eric@traut.com> Co-authored-by: Larry Hastings <larry@hastings.org> Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com> | ||||
* | GH-104405: Add missing PEP 523 checks (GH-104406) | Brandt Bucher | 2023-05-12 | 1 | -401/+405 |
| | |||||
* | GH-103082: Filter LINE events in VM, to simplify tool implementation. ↵ | Mark Shannon | 2023-05-12 | 1 | -44/+20 |
| | | | | | | | | (GH-104387) When monitoring LINE events, instrument all instructions that can have a predecessor on a different line. Then check that the a new line has been hit in the instrumentation code. This brings the behavior closer to that of 3.11, simplifying implementation and porting of tools. | ||||
* | gh-104413: Fix refleak when super attribute throws AttributeError (#104414) | Jelle Zijlstra | 2023-05-12 | 1 | -113/+115 |
| | |||||
* | gh-87729: improve hit rate of LOAD_SUPER_ATTR specialization (#104270) | Carl Meyer | 2023-05-11 | 1 | -237/+270 |
| | |||||
* | gh-87849: fix SEND specialization family definition (GH-104268) | Carl Meyer | 2023-05-11 | 1 | -173/+174 |
| | |||||
* | gh-97933: (PEP 709) inline list/dict/set comprehensions (#101441) | Carl Meyer | 2023-05-09 | 1 | -475/+487 |
| | | | | Co-authored-by: Irit Katriel <1055913+iritkatriel@users.noreply.github.com> Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com> | ||||
* | gh-98003: Inline call frames for CALL_FUNCTION_EX (GH-98004) | Ken Jin | 2023-04-30 | 1 | -43/+62 |
| | |||||
* | gh-87729: specialize LOAD_SUPER_ATTR_METHOD (#103809) | Carl Meyer | 2023-04-25 | 1 | -252/+278 |
| | |||||
* | gh-87729: add LOAD_SUPER_ATTR instruction for faster super() (#103497) | Carl Meyer | 2023-04-24 | 1 | -352/+398 |
| | | | | | This speeds up `super()` (by around 85%, for a simple one-level `super().meth()` microbenchmark) by avoiding allocation of a new single-use `super()` object on each use. | ||||
* | GH-103488: Use return-offset, not yield-offset. (GH-103502) | Mark Shannon | 2023-04-13 | 1 | -401/+409 |
| | | | | * Use return-offset, not yield-offset, so that instruction pointer is correct when sending to a generator or coroutine. | ||||
* | GH-103082: Implementation of PEP 669: Low Impact Monitoring for CPython ↵ | Mark Shannon | 2023-04-12 | 1 | -540/+854 |
| | | | | | | | | | | (GH-103083) * The majority of the monitoring code is in instrumentation.c * The new instrumentation bytecodes are in bytecodes.c * legacy_tracing.c adapts the new API to the old sys.setrace and sys.setprofile APIs | ||||
* | GH-88691: Shrink the CALL caches (GH-103230) | Brandt Bucher | 2023-04-05 | 1 | -71/+75 |
| | |||||
* | gh-102192: use PyErr_SetHandledException instead of the legacy ↵ | Irit Katriel | 2023-04-01 | 1 | -1/+1 |
| | | | | PyErr_SetExcInfo (#103157) | ||||
* | Add missing variables to `bytecodes.c` (GH-103153) | Brett Cannon | 2023-03-31 | 1 | -223/+223 |
| | | | The code works without this change, but it does cause C tooling to complain less about undeclared variables. | ||||
* | GH-89987: Shrink the BINARY_SUBSCR caches (GH-103022) | Brandt Bucher | 2023-03-29 | 1 | -191/+191 |
| | |||||
* | GH-100982: Break up COMPARE_AND_BRANCH (GH-102801) | Brandt Bucher | 2023-03-23 | 1 | -240/+213 |
| | |||||
* | gh-102859: Remove JUMP_IF_FALSE_OR_POP and JUMP_IF_TRUE_OR_POP (#102870) | Irit Katriel | 2023-03-22 | 1 | -176/+114 |
| | |||||
* | GH-101291: Rearrange the size bits in PyLongObject (GH-102464) | Mark Shannon | 2023-03-22 | 1 | -387/+386 |
| | | | | | | | | | | * Eliminate all remaining uses of Py_SIZE and Py_SET_SIZE on PyLongObject, adding asserts. * Change layout of size/sign bits in longobject to support future addition of immortal ints and tagged medium ints. * Add functions to hide some internals of long object, and for setting sign and digit count. * Replace uses of IS_MEDIUM_VALUE macro with _PyLong_IsCompact(). | ||||
* | gh-102598: Remove obsolete optimization from `FORMAT_VALUE` opcode (#102599) | Nikita Sobolev | 2023-03-21 | 1 | -30/+17 |
| | |||||
* | gh-102192: Replace PyErr_Fetch/Restore etc by more efficient alternatives ↵ | Irit Katriel | 2023-03-19 | 1 | -321/+317 |
| | | | | (#102816) | ||||
* | gh-102654: Insert #line directives in generated_cases.c.h (#102669) | Guido van Rossum | 2023-03-15 | 1 | -0/+456 |
| | | | | | | | | | This behavior is optional, because in some extreme cases it may just make debugging harder. The tool defaults it to off, but it is on in Makefile.pre.in. Also note that this makes diffs to generated_cases.c.h noisier, since whenever you insert or delete a line in bytecodes.c, all subsequent #line directives will change. | ||||
* | gh-98831: Use DECREF_INPUTS() more (#102409) | Guido van Rossum | 2023-03-13 | 1 | -8/+7 |
| | |||||
* | GH-100987: Don't cache references to the names and consts array in ↵ | Mark Shannon | 2023-03-13 | 1 | -23/+23 |
| | | | | | | | `_PyEval_EvalFrameDefault`. (#102640) * Rename local variables, names and consts, from the interpeter loop. Will allow non-code objects in frames for better introspection of C builtins and extensions. * Remove unused dummy variables. | ||||
* | GH-102300: Reuse objects with refcount == 1 in float specialized binary ops. ↵ | Mark Shannon | 2023-03-13 | 1 | -12/+3 |
| | | | | (GH-102301) | ||||
* | GH-90997: Shrink the LOAD_GLOBAL caches (#102569) | Brandt Bucher | 2023-03-11 | 1 | -7/+7 |
| | |||||
* | gh-100227: Move dict_state.global_version to PyInterpreterState (gh-102338) | Eric Snow | 2023-03-09 | 1 | -2/+2 |
| | | | https://github.com/python/cpython/issues/100227 | ||||
* | gh-102021 : Allow multiple input files for interpreter loop generator (#102022) | Jacob Bower | 2023-03-04 | 1 | -1/+2 |
| | | | The input files no longer use `-i`. | ||||
* | GH-102305: Expand some macros in generated_cases.c.h (#102309) | Guido van Rossum | 2023-02-28 | 1 | -425/+420 |
| | | | | * Emit straight stack_pointer[-i] instead of PEEK(i), POKE(i, ...) * Expand JUMPBY() and NEXTOPARG(), and fix a perf bug | ||||
* | gh-102250: Fix double-decref in COMPARE_AND_BRANCH error case (GH-102287) | Dennis Sweeney | 2023-02-27 | 1 | -3/+1 |
| | |||||
* | GH-100982: Restrict `FOR_ITER_RANGE` to a single instruction to allow ↵ | Mark Shannon | 2023-02-22 | 1 | -11/+11 |
| | | | | instrumentation. (GH-101985) | ||||
* | gh-101907: Stop using `_Py_OPCODE` and `_Py_OPARG` macros (GH-101912) | Steve Dower | 2023-02-20 | 1 | -17/+17 |
| | | | | | | * gh-101907: Removes use of non-standard C++ extension from Include/cpython/code.h * Make cases_generator correct on Windows | ||||
* | gh-101952: Fix possible segfault in `BUILD_SET` opcode (#101958) | Eclips4 | 2023-02-16 | 1 | -0/+2 |
| | |||||
* | GH-87849: Fix refleak in SEND instruction. (GH-101908) | Mark Shannon | 2023-02-15 | 1 | -0/+1 |
| | | | Fix refleak in SEND instruction. | ||||
* | gh-101799: implement PREP_RERAISE_STAR as an intrinsic function (#101800) | Irit Katriel | 2023-02-14 | 1 | -16/+14 |
| | |||||
* | GH-87849: Simplify stack effect of SEND and specialize it for generators and ↵ | Mark Shannon | 2023-02-13 | 1 | -37/+52 |
| | | | | coroutines. (GH-101788) | ||||
* | gh-98831: Modernize CALL and family (#101508) | Guido van Rossum | 2023-02-08 | 1 | -239/+321 |
| | | | Includes a slight improvement to `DECREF_INPUTS()`. | ||||
* | GH-101578: Normalize the current exception (GH-101607) | Mark Shannon | 2023-02-08 | 1 | -3/+1 |
| | | | | | | | | | | * Make sure that the current exception is always normalized. * Remove redundant type and traceback fields for the current exception. * Add new API functions: PyErr_GetRaisedException, PyErr_SetRaisedException * Add new API functions: PyException_GetArgs, PyException_SetArgs | ||||
* | gh-98831: Modernize CALL_FUNCTION_EX (#101627) | Guido van Rossum | 2023-02-08 | 1 | -14/+13 |
| | | | New generator feature: Move CHECK_EVAL_BREAKER() call to just before DISPATCH(). | ||||
* | gh-98831: Modernize FORMAT_VALUE (#101628) | Guido van Rossum | 2023-02-08 | 1 | -13/+7 |
| | | | Generator update: support balanced parentheses and brackets in conditions and size expressions. | ||||
* | gh-98831: Finish the UNPACK_SEQUENCE family (#101666) | Guido van Rossum | 2023-02-07 | 1 | -17/+21 |
| | | | New generator feature: Generate useful glue for output arrays, so you can just write values to the output array (no bounds checking). Rewrote UNPACK_SEQUENCE_TWO_TUPLE to use this, and also UNPACK_SEQUENCE_{TUPLE,LIST}. | ||||
* | gh-101632: Add the new RETURN_CONST opcode (#101633) | penguin_wwy | 2023-02-07 | 1 | -0/+17 |
| | |||||
* | gh-98831: rewrite UNPACK_EX, UNPACK_SEQUENCE, UNPACK_SEQUENCE_TWO_TUPLE in ↵ | Irit Katriel | 2023-02-07 | 1 | -20/+21 |
| | | | | the instruction definition DSL (#101641) | ||||
* | gh-98831: Modernize the FOR_ITER family of instructions (#101626) | Guido van Rossum | 2023-02-07 | 1 | -24/+42 |
| | | | Co-authored-by: Irit Katriel <1055913+iritkatriel@users.noreply.github.com> | ||||
* | gh-98831: rewrite COPY and SWAP in the instruction definition DSL (#101620) | Irit Katriel | 2023-02-06 | 1 | -7/+11 |
| | |||||
* | gh-98831: rewrite MAKE_FUNCTION and BUILD_SLICE in the instruction ↵ | Irit Katriel | 2023-02-03 | 1 | -23/+29 |
| | | | | definition DSL (#101529) | ||||
* | gh-98831: rewrite SEND, GET_YIELD_FROM_ITER, RETURN_GENERATOR in the ↵ | Irit Katriel | 2023-02-03 | 1 | -15/+20 |
| | | | | instruction definition DSL (#101516) | ||||
* | gh-98831: rewrite RERAISE and CLEANUP_THROW in the instruction definition ↵ | Irit Katriel | 2023-02-02 | 1 | -13/+19 |
| | | | | DSL (#101511) |