Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | GH-96421: Insert shim frame on entry to interpreter (GH-96319) | Mark Shannon | 2022-11-10 | 1 | -0/+75 | |
| | | | | | | * 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-98686: Quicken everything (GH-98687) | Brandt Bucher | 2022-11-02 | 1 | -10/+6 | |
| | ||||||
* | gh-95756: Free and NULL-out code caches when needed (GH-98181) | Ken Jin | 2022-10-11 | 1 | -0/+1 | |
| | ||||||
* | gh-95756: Lazily created cached co_* attrs (GH-97791) | Ken Jin | 2022-10-11 | 1 | -10/+67 | |
| | ||||||
* | GH-97779: Ensure that *all* frame objects are backed by "complete" frames ↵ | Brandt Bucher | 2022-10-05 | 1 | -3/+19 | |
| | | | | (GH-97845) | |||||
* | gh-94808: `_PyLineTable_StartsLine` was not used (GH-96609) | Nikita Sobolev | 2022-10-03 | 1 | -27/+0 | |
| | ||||||
* | GH-96187: Prevent _PyCode_GetExtra to return garbage for negative indexes ↵ | Pablo Galindo Salgado | 2022-08-23 | 1 | -1/+1 | |
| | | | | (GH-96188) | |||||
* | gh-94936: C getters: co_varnames, co_cellvars, co_freevars (#95008) | Ken Jin | 2022-08-04 | 1 | -0/+18 | |
| | ||||||
* | GH-95150: Use position and exception tables for code hashing and equality ↵ | Brandt Bucher | 2022-08-01 | 1 | -1/+18 | |
| | | | | (GH-95509) | |||||
* | GH-95113: Don't use EXTENDED_ARG_QUICK in unquickened code (GH-95121) | Brandt Bucher | 2022-07-22 | 1 | -1/+1 | |
| | ||||||
* | Fix PyCode_Addr2Location when addrq < 0 (GH-95091) | Ken Jin | 2022-07-21 | 1 | -0/+1 | |
| | ||||||
* | GH-94262: Don't create frame objects for frames that aren't yet complete. ↵ | Mark Shannon | 2022-07-01 | 1 | -6/+5 | |
| | | | | (GH-94371) | |||||
* | gh-88116: Avoid undefined behavior when decoding varints in code objects ↵ | Pablo Galindo Salgado | 2022-06-28 | 1 | -8/+8 | |
| | | | | (#94375) | |||||
* | gh-93382: Sync up `co_code` changes with 3.11 (GH-94227) | Ken Jin | 2022-06-24 | 1 | -1/+1 | |
| | | | Sync up co_code changes with 3.11 commit 852b4d4bcd12b0b6839a015a262ce976b134f6f3. | |||||
* | GH-93249: relax overly strict assertion on bounds->ar_start (GH-93961) | Irit Katriel | 2022-06-20 | 1 | -1/+6 | |
| | ||||||
* | GH-93516: Speedup line number checks when tracing. (GH-93763) | Mark Shannon | 2022-06-20 | 1 | -0/+56 | |
| | | | | * Use a lookup table to reduce overhead of getting line numbers during tracing. | |||||
* | GH-93897: Store frame size in code object and de-opt if insufficient space ↵ | Mark Shannon | 2022-06-20 | 1 | -0/+2 | |
| | | | | on thread frame stack. (GH-93908) | |||||
* | GH-93516: Store offset of first traceable instruction in code object (GH-93769) | Mark Shannon | 2022-06-14 | 1 | -0/+6 | |
| | ||||||
* | gh-93728: fix memory leak in deepfrozen code objects (GH-93729) | Kumar Aditya | 2022-06-12 | 1 | -0/+1 | |
| | ||||||
* | gh-93382: Cache result of `PyCode_GetCode` in codeobject (GH-93383) | Ken Jin | 2022-06-03 | 1 | -0/+7 | |
| | | | | Co-authored-by: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com> Co-authored-by: Dennis Sweeney <36520290+sweeneyde@users.noreply.github.com> | |||||
* | GH-92955: fix memory leak in code object lines and positions iterators ↵ | Kumar Aditya | 2022-05-19 | 1 | -4/+4 | |
| | | | | (gh-92956) | |||||
* | gh-92031: Deoptimize Static Code at Finalization (GH-92039) | Dennis Sweeney | 2022-05-03 | 1 | -10/+17 | |
| | ||||||
* | gh-92154: Expose PyCode_GetCode in the C API (GH-92168) | Ken Jin | 2022-05-03 | 1 | -0/+5 | |
| | ||||||
* | gh-91719: Add pycore_opcode.h internal header file (#91906) | Victor Stinner | 2022-04-25 | 1 | -0/+1 | |
| | | | | | | | | | | | 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: Document that PyCodeNew is dangerous, and make PyCode_NewEmpty ↵ | Mark Shannon | 2022-04-21 | 1 | -1/+15 | |
| | | | | less dangerous. (GH-91790) | |||||
* | GH-88116: Use a compact format to represent end line and column offsets. ↵ | Mark Shannon | 2022-04-21 | 1 | -169/+318 | |
| | | | | | | | | | | | | (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-35134: Remove the Include/code.h header file (GH-32385) | Victor Stinner | 2022-04-07 | 1 | -1/+0 | |
| | | | | | | Remove the Include/code.h header file. C extensions should only include the main <Python.h> header file. Python.h includes directly Include/cpython/code.h instead. | |||||
* | bpo-46841: Use a `bytes` object for `_co_code_adaptive` (GH-32205) | Brandt Bucher | 2022-04-01 | 1 | -2/+2 | |
| | ||||||
* | bpo-46841: Avoid unnecessary allocations in code object comparisons (GH-32222) | Brandt Bucher | 2022-04-01 | 1 | -13/+13 | |
| | ||||||
* | bpo-46841: Quicken code in-place (GH-31888) | Brandt Bucher | 2022-03-21 | 1 | -112/+101 | |
| | | | | | | | | | | | | | | | | | | | * Moves the bytecode to the end of the corresponding PyCodeObject, and quickens it in-place. * Removes the almost-always-unused co_varnames, co_freevars, and co_cellvars member caches * _PyOpcode_Deopt is a new mapping from all opcodes to their un-quickened forms. * _PyOpcode_InlineCacheEntries is renamed to _PyOpcode_Caches * _Py_IncrementCountAndMaybeQuicken is renamed to _PyCode_Warmup * _Py_Quicken is renamed to _PyCode_Quicken * _co_quickened is renamed to _co_code_adaptive (and is now a read-only memoryview). * Do not emit unused nonzero opargs anymore in the compiler. | |||||
* | bpo-46841: Use inline caching for calls (GH-31709) | Brandt Bucher | 2022-03-07 | 1 | -4/+1 | |
| | ||||||
* | Propagate errors (however unlikely) from _Py_Deepfreeze_Init() (GH-31596) | Kumar Aditya | 2022-02-26 | 1 | -5/+11 | |
| | ||||||
* | bpo-45316: Move private PyCode C API to internal C API (GH-31576) | Victor Stinner | 2022-02-25 | 1 | -9/+9 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rename private functions (no exported), add an underscore prefix: * PyLineTable_InitAddressRange() => _PyLineTable_InitAddressRange() * PyLineTable_NextAddressRange() => _PyLineTable_NextAddressRange() * PyLineTable_PreviousAddressRange() => _PyLineTable_PreviousAddressRange() Move private functions to the internal C API: * _PyCode_Addr2EndLine() * _PyCode_Addr2EndOffset() * _PyCode_Addr2Offset() * _PyCode_InitAddressRange() * _PyCode_InitEndAddressRange( * _PyLineTable_InitAddressRange() * _PyLineTable_NextAddressRange() * _PyLineTable_PreviousAddressRange() No longer export the following internal functions: * _PyCode_GetVarnames() * _PyCode_GetCellvars() * _PyCode_GetFreevars() * _Py_GetSpecializationStats() Add "extern" to pycore_code.h functions to identify them more easiliy (they are still not exported). | |||||
* | Add (undocumented) _co_quickened attribute for code object. (GH-31552) | Mark Shannon | 2022-02-24 | 1 | -2/+13 | |
| | ||||||
* | bpo-46765: Replace Locally Cached Strings with Statically Initialized ↵ | Eric Snow | 2022-02-23 | 1 | -6/+1 | |
| | | | | | Objects (gh-31366) https://bugs.python.org/issue46765 | |||||
* | bpo-46745: Fix typo in PositionsIterator (#31322) | Robert-André Mauchin | 2022-02-17 | 1 | -1/+1 | |
| | | | Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com> | |||||
* | bpo-46430: Intern strings in deep-frozen modules (GH-30683) | Kumar Aditya | 2022-02-09 | 1 | -0/+12 | |
| | ||||||
* | bpo-46476: Simplify and fix _PyStaticCode_Dealloc (GH-30965) | Christian Heimes | 2022-01-27 | 1 | -5/+8 | |
| | ||||||
* | bpo-46476: Fix memory leak in code objects generated by deepfreeze (GH-30853) | Kumar Aditya | 2022-01-27 | 1 | -0/+15 | |
| | | | Add _Py_Deepfreeze_Fini() and _PyStaticCode_Dealloc() functions. | |||||
* | bpo-45954: Rename PyConfig.no_debug_ranges to code_debug_ranges (GH-29886) | Victor Stinner | 2021-12-02 | 1 | -1/+1 | |
| | | | | | | | Rename PyConfig.no_debug_ranges to PyConfig.code_debug_ranges and invert the value. Document -X no_debug_ranges and PYTHONNODEBUGRANGES env var in PyConfig.code_debug_ranges documentation. | |||||
* | bpo-44530: Reverts a change to the 'code.__new__' audit event (GH-29809) | Steve Dower | 2021-11-27 | 1 | -4/+4 | |
| | ||||||
* | bpo-45355: More use of sizeof(_Py_CODEUNIT) (GH-28720) | Serhiy Storchaka | 2021-10-04 | 1 | -10/+6 | |
| | ||||||
* | Fix a SystemError in code.replace() (#27771) | Guido van Rossum | 2021-08-16 | 1 | -3/+5 | |
| | | | | | | | While the comment said 'We don't bother resizing localspluskinds', this would cause .replace() to crash when it happened. (Also types.CodeType(), but testing that is tedious, and this tests all code paths.) | |||||
* | Remove legacy opcache structs (GH-27164) | Ken Jin | 2021-07-16 | 1 | -1/+1 | |
| | ||||||
* | bpo-43950: Add option to opt-out of PEP-657 (GH-27023) | Ammar Askar | 2021-07-07 | 1 | -10/+37 | |
| | | | | | Co-authored-by: Pablo Galindo <Pablogsal@gmail.com> Co-authored-by: Batuhan Taskaya <batuhanosmantaskaya@gmail.com> Co-authored-by: Ammar Askar <ammar@ammaraskar.com> | |||||
* | bpo-44530: Add co_qualname field to PyCodeObject (GH-26941) | Gabriele N. Tornetta | 2021-07-07 | 1 | -20/+36 | |
| | ||||||
* | bpo-43950: use 0-indexed column offsets for bytecode positions (GH-27011) | Batuhan Taskaya | 2021-07-04 | 1 | -11/+8 | |
| | ||||||
* | bpo-43950: Add code.co_positions (PEP 657) (GH-26955) | Pablo Galindo | 2021-07-02 | 1 | -8/+211 | |
| | | | | | | | | | | | | | | | This PR is part of PEP 657 and augments the compiler to emit ending line numbers as well as starting and ending columns from the AST into compiled code objects. This allows bytecodes to be correlated to the exact source code ranges that generated them. This information is made available through the following public APIs: * The `co_positions` method on code objects. * The C API function `PyCode_Addr2Location`. Co-authored-by: Batuhan Taskaya <isidentical@gmail.com> Co-authored-by: Ammar Askar <ammar@ammaraskar.com> | |||||
* | bpo-43693 Get rid of CO_NOFREE -- it's unused (GH-26839) | Guido van Rossum | 2021-06-23 | 1 | -7/+0 | |
| | | | | | | All uses of this flag are either setting it or in doc or tests for it. So we should be able to get rid of it completely. | |||||
* | bpo-43693: Turn localspluskinds into an object (GH-26749) | Guido van Rossum | 2021-06-21 | 1 | -19/+24 | |
| | | | Managing it as a bare pointer to malloc'ed bytes is just too awkward in a few places. |