Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | gh-105340: include hidden fast-locals in locals() (#105715) | Carl Meyer | 2023-07-05 | 1 | -5/+60 |
| | | | * gh-105340: include hidden fast-locals in locals() | ||||
* | Fix duplicate word typos in comments (#106225) | Md Sadman Chowdhury | 2023-07-01 | 1 | -1/+1 |
| | |||||
* | GH-100987: Allow objects other than code objects as the "executable" of an ↵ | Mark Shannon | 2023-06-14 | 1 | -19/+20 |
| | | | | | | | | | | internal frame. (GH-105727) * Add table describing possible executable classes for out-of-process debuggers. * Remove shim code object creation code as it is no longer needed. * Make lltrace a bit more robust w.r.t. non-standard frames. | ||||
* | GH-104584: Plugin optimizer API (GH-105100) | Mark Shannon | 2023-06-02 | 1 | -1/+1 |
| | |||||
* | GH-103082: Filter LINE events in VM, to simplify tool implementation. ↵ | Mark Shannon | 2023-05-12 | 1 | -3/+0 |
| | | | | | | | | (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-97933: (PEP 709) inline list/dict/set comprehensions (#101441) | Carl Meyer | 2023-05-09 | 1 | -0/+4 |
| | | | | Co-authored-by: Irit Katriel <1055913+iritkatriel@users.noreply.github.com> Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com> | ||||
* | GH-96803: Add three C-API functions to make _PyInterpreterFrame less opaque ↵ | Mark Shannon | 2023-05-05 | 1 | -1/+1 |
| | | | | for users of PEP 523. (GH-96849) | ||||
* | GH-103082: Implementation of PEP 669: Low Impact Monitoring for CPython ↵ | Mark Shannon | 2023-04-12 | 1 | -68/+102 |
| | | | | | | | | | | (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-100982: Break up COMPARE_AND_BRANCH (GH-102801) | Brandt Bucher | 2023-03-23 | 1 | -8/+0 |
| | |||||
* | gh-102859: Remove JUMP_IF_FALSE_OR_POP and JUMP_IF_TRUE_OR_POP (#102870) | Irit Katriel | 2023-03-22 | 1 | -12/+2 |
| | |||||
* | gh-102192: Replace PyErr_Fetch/Restore etc by more efficient alternatives ↵ | Irit Katriel | 2023-03-08 | 1 | -3/+2 |
| | | | | (in Objects/) (#102218) | ||||
* | gh-101907: Stop using `_Py_OPCODE` and `_Py_OPARG` macros (GH-101912) | Steve Dower | 2023-02-20 | 1 | -12/+12 |
| | | | | | | * gh-101907: Removes use of non-standard C++ extension from Include/cpython/code.h * Make cases_generator correct on Windows | ||||
* | GH-87849: Simplify stack effect of SEND and specialize it for generators and ↵ | Mark Shannon | 2023-02-13 | 1 | -3/+3 |
| | | | | coroutines. (GH-101788) | ||||
* | gh-101632: Add the new RETURN_CONST opcode (#101633) | penguin_wwy | 2023-02-07 | 1 | -0/+2 |
| | |||||
* | GH-100982: Add `COMPARE_AND_BRANCH` instruction (GH-100983) | Mark Shannon | 2023-01-16 | 1 | -0/+8 |
| | |||||
* | GH-100126: Skip incomplete frames in more places (GH-100613) | Brandt Bucher | 2023-01-09 | 1 | -3/+1 |
| | |||||
* | gh-100758: Refactor initialisation of frame headers into a single function ↵ | Irit Katriel | 2023-01-06 | 1 | -5/+2 |
| | | | | (_PyFrame_Initialize) (GH-100759) | ||||
* | GH-100719: Remove the `co_nplaincellvars` field from code objects. (GH-100721) | Mark Shannon | 2023-01-04 | 1 | -1/+1 |
| | |||||
* | gh-100720: refactor calculation of number of frame slots for a code object ↵ | Irit Katriel | 2023-01-04 | 1 | -1/+1 |
| | | | | into the new function _PyFrame_NumSlotsForCodeObject (#100722) | ||||
* | gh-99110: Initialize `frame->previous` in init_frame to fix segmentation ↵ | Bill Fisher | 2022-12-23 | 1 | -0/+1 |
| | | | | fault when accessing `frame.f_back` (#100182) | ||||
* | Remove old comment (GH-99489) | Brandt Bucher | 2022-11-16 | 1 | -9/+0 |
| | |||||
* | gh-91248: Optimize PyFrame_GetVar() (#99252) | Victor Stinner | 2022-11-13 | 1 | -95/+136 |
| | | | | PyFrame_GetVar() no longer creates a temporary dictionary to get a variable. | ||||
* | gh-99300: Use Py_NewRef() in Objects/ directory (#99335) | Victor Stinner | 2022-11-10 | 1 | -28/+12 |
| | | | | Replace Py_INCREF() and Py_XINCREF() with Py_NewRef() and Py_XNewRef() in C files of the Objects/ directory. | ||||
* | GH-96421: Insert shim frame on entry to interpreter (GH-96319) | Mark Shannon | 2022-11-10 | 1 | -5/+5 |
| | | | | | | * Adds EXIT_INTERPRETER instruction to exit PyEval_EvalDefault() * Simplifies RETURN_VALUE, YIELD_VALUE and RETURN_GENERATOR instructions as they no longer need to check for entry frames. | ||||
* | gh-91248: Add PyFrame_GetVar() function (#95712) | Victor Stinner | 2022-11-08 | 1 | -0/+30 |
| | | | | | | Add PyFrame_GetVar() and PyFrame_GetVarString() functions to get a frame variable by its name. Move PyFrameObject C API tests from test_capi to test_frame. | ||||
* | GH-93143: Don't turn LOAD_FAST into LOAD_FAST_CHECK (GH-99075) | Brandt Bucher | 2022-11-08 | 1 | -44/+36 |
| | |||||
* | GH-98686: Quicken everything (GH-98687) | Brandt Bucher | 2022-11-02 | 1 | -1/+1 |
| | |||||
* | GH-96793: Change `FOR_ITER` to not pop the iterator on exhaustion. (GH-96801) | Mark Shannon | 2022-10-27 | 1 | -2/+2 |
| | | | | Change FOR_ITER to have the same stack effect regardless of whether it branches or not. Performance is unchanged as FOR_ITER (and specialized forms jump over the cleanup code). | ||||
* | gh-95756: Free and NULL-out code caches when needed (GH-98181) | Ken Jin | 2022-10-11 | 1 | -0/+2 |
| | |||||
* | gh-95756: Lazily created cached co_* attrs (GH-97791) | Ken Jin | 2022-10-11 | 1 | -2/+5 |
| | |||||
* | GH-97779: Ensure that *all* frame objects are backed by "complete" frames ↵ | Brandt Bucher | 2022-10-05 | 1 | -1/+15 |
| | | | | (GH-97845) | ||||
* | gh-93554: Conditional jump opcodes only jump forward (GH-96318) | Irit Katriel | 2022-09-01 | 1 | -16/+3 |
| | |||||
* | GH-96237: Allow non-functions as reference-holder in frames. (GH-96238) | Mark Shannon | 2022-08-25 | 1 | -3/+5 |
| | |||||
* | GH-94438: Handle extended arguments and conditional pops in mark_stacks ↵ | Brandt Bucher | 2022-07-22 | 1 | -4/+9 |
| | | | | (GH-95110) | ||||
* | GH-94979: Pop the exception stack when jumping out of exception handlers. ↵ | Mark Shannon | 2022-07-19 | 1 | -9/+52 |
| | | | | (#95003) | ||||
* | GH-94893: Ignore caches when adding LOAD_FAST_CHECKs (GH-94894) | Brandt Bucher | 2022-07-18 | 1 | -1/+3 |
| | |||||
* | GH-94739: Mark stacks of exception handling blocks for setting ↵ | Mark Shannon | 2022-07-18 | 1 | -11/+121 |
| | | | | frame.f_lineno in the debugger. (GH-94958) | ||||
* | gh-94438: in frameobject's mark_stacks switch, the PUSH_EXC_INFO and ↵ | Irit Katriel | 2022-07-06 | 1 | -8/+10 |
| | | | | POP_EXCEPT cases are no longer reachable (GH-94582) | ||||
* | GH-94438: Account for NULLs on evaluation stack when jumping lines. (GH-94444) | Mark Shannon | 2022-07-01 | 1 | -13/+43 |
| | |||||
* | GH-94262: Don't create frame objects for frames that aren't yet complete. ↵ | Mark Shannon | 2022-07-01 | 1 | -2/+8 |
| | | | | (GH-94371) | ||||
* | GH-91742: Fix pdb crash after jump (GH-94171) | Kumar Aditya | 2022-06-23 | 1 | -1/+1 |
| | |||||
* | GH-91432: Specialize FOR_ITER (GH-91713) | Dennis Sweeney | 2022-06-21 | 1 | -1/+1 |
| | | | | | * Adds FOR_ITER_LIST and FOR_ITER_RANGE specializations. * Adds _PyLong_AssignValue() internal function to avoid temporary boxing of ints. | ||||
* | GH-93897: Store frame size in code object and de-opt if insufficient space ↵ | Mark Shannon | 2022-06-20 | 1 | -1/+2 |
| | | | | on thread frame stack. (GH-93908) | ||||
* | gh-93382: Cache result of `PyCode_GetCode` in codeobject (GH-93383) | Ken Jin | 2022-06-03 | 1 | -0/+8 |
| | | | | Co-authored-by: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com> Co-authored-by: Dennis Sweeney <36520290+sweeneyde@users.noreply.github.com> | ||||
* | gh-93143: Avoid NULL check in LOAD_FAST based on analysis in the compiler ↵ | Dennis Sweeney | 2022-05-31 | 1 | -0/+27 |
| | | | | (GH-93144) | ||||
* | gh-89653: PEP 670: Convert PyCell macros to functions (#92653) | Victor Stinner | 2022-05-11 | 1 | -1/+1 |
| | | | | | | | | | | | Convert the following macros to static inline functions: * PyCell_GET() * PyCell_SET() Limited C API version 3.12 no longer casts arguments. Fix also usage of PyCell_SET(): only delete the old value after setting the new value. | ||||
* | gh-91719: Add pycore_opcode.h internal header file (#91906) | Victor Stinner | 2022-04-25 | 1 | -2/+3 |
| | | | | | | | | | | | Move the following API from Include/opcode.h (public C API) to a new Include/internal/pycore_opcode.h header file (internal C API): * EXTRA_CASES * _PyOpcode_Caches * _PyOpcode_Deopt * _PyOpcode_Jump * _PyOpcode_OpName * _PyOpcode_RelativeJump | ||||
* | GH-88116: Use a compact format to represent end line and column offsets. ↵ | Mark Shannon | 2022-04-21 | 1 | -1/+5 |
| | | | | | | | | | | | | (GH-91666) * Stores all location info in linetable to conform to PEP 626. * Remove column table from code objects. * Remove end-line table from code objects. * Document new location table format | ||||
* | bpo-40421: Cleanup PyFrame C API (GH-32417) | Victor Stinner | 2022-04-19 | 1 | -1/+1 |
| | |||||
* | gh-91502: Add a new API to check if a frame is an entry frame (GH-91503) | Pablo Galindo Salgado | 2022-04-13 | 1 | -0/+8 |
| |