Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | gh-110543: Fix CodeType.replace in presence of comprehensions (#110586) | Jelle Zijlstra | 2023-11-08 | 1 | -0/+29 |
| | |||||
* | gh-111354: simplify detection of RESUME after YIELD_VALUE at except-depth 1 ↵ | Irit Katriel | 2023-11-02 | 1 | -1/+2 |
| | | | | (#111459) | ||||
* | gh-108082: Use PyErr_FormatUnraisable() (GH-111580) | Serhiy Storchaka | 2023-11-02 | 1 | -17/+3 |
| | | | | | | Replace most of calls of _PyErr_WriteUnraisableMsg() and some calls of PyErr_WriteUnraisable(NULL) with PyErr_FormatUnraisable(). Co-authored-by: Victor Stinner <vstinner@python.org> | ||||
* | GH-107265: Add missing deoptimizations for ENTER_EXECUTOR's original opcode ↵ | Tian Gao | 2023-09-22 | 1 | -1/+1 |
| | | | | (GH-109420) | ||||
* | gh-109052: Use the base opcode when comparing code objects (gh-109107) | Tian Gao | 2023-09-09 | 1 | -6/+4 |
| | |||||
* | GH-108716: Turn off deep-freezing of code objects. (GH-108722) | Mark Shannon | 2023-09-08 | 1 | -3/+4 |
| | |||||
* | gh-107265: Remove all ENTER_EXECUTOR when execute _Py_Instrument (gh-108539) | Dong-hee Na | 2023-09-07 | 1 | -0/+17 |
| | |||||
* | gh-108751: Add copy.replace() function (GH-108752) | Serhiy Storchaka | 2023-09-06 | 1 | -0/+1 |
| | | | | | | | | | It creates a modified copy of an object by calling the object's __replace__() method. It is a generalization of dataclasses.replace(), named tuple's _replace() method and replace() methods in various classes, and supports all these stdlib classes. | ||||
* | gh-105481: remove regen-opcode. Generated _PyOpcode_Caches in regen-cases. ↵ | Irit Katriel | 2023-08-23 | 1 | -2/+1 |
| | | | | (#108367) | ||||
* | gh-107265: Fix code_hash for ENTER_EXECUTOR case (#108188) | Dong-hee Na | 2023-08-21 | 1 | -19/+34 |
| | |||||
* | gh-107265: Fix code_richcompare for ENTER_EXECUTOR case (gh-108165) | Dong-hee Na | 2023-08-21 | 1 | -0/+17 |
| | |||||
* | gh-106581: Project through calls (#108067) | Guido van Rossum | 2023-08-17 | 1 | -0/+3 |
| | | | | This finishes the work begun in gh-107760. When, while projecting a superblock, we encounter a call to a short, simple function, the superblock will now enter the function using `_PUSH_FRAME`, continue through it, and leave it using `_POP_FRAME`, and then continue through the original code. Multiple frame pushes and pops are even possible. It is also possible to stop appending to the superblock in the middle of a called function, when running out of space or encountering an unsupported bytecode. | ||||
* | gh-105481: generate op IDs from bytecode.c instead of hard coding them in ↵ | Irit Katriel | 2023-08-16 | 1 | -1/+2 |
| | | | | opcode.py (#107971) | ||||
* | gh-86457: Fix signature for code.replace() (GH-23199) | Serhiy Storchaka | 2023-08-07 | 1 | -29/+29 |
| | | | | Also add support of @text_signature in Argument Clinic. | ||||
* | gh-106869: Use new PyMemberDef constant names (#106871) | Victor Stinner | 2023-07-25 | 1 | -15/+15 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Remove '#include "structmember.h"'. * If needed, add <stddef.h> to get offsetof() function. * Update Parser/asdl_c.py to regenerate Python/Python-ast.c. * Replace: * T_SHORT => Py_T_SHORT * T_INT => Py_T_INT * T_LONG => Py_T_LONG * T_FLOAT => Py_T_FLOAT * T_DOUBLE => Py_T_DOUBLE * T_STRING => Py_T_STRING * T_OBJECT => _Py_T_OBJECT * T_CHAR => Py_T_CHAR * T_BYTE => Py_T_BYTE * T_UBYTE => Py_T_UBYTE * T_USHORT => Py_T_USHORT * T_UINT => Py_T_UINT * T_ULONG => Py_T_ULONG * T_STRING_INPLACE => Py_T_STRING_INPLACE * T_BOOL => Py_T_BOOL * T_OBJECT_EX => Py_T_OBJECT_EX * T_LONGLONG => Py_T_LONGLONG * T_ULONGLONG => Py_T_ULONGLONG * T_PYSSIZET => Py_T_PYSSIZET * T_NONE => _Py_T_NONE * READONLY => Py_READONLY * PY_AUDIT_READ => Py_AUDIT_READ * READ_RESTRICTED => Py_AUDIT_READ * PY_WRITE_RESTRICTED => _Py_WRITE_RESTRICTED * RESTRICTED => (READ_RESTRICTED | _Py_WRITE_RESTRICTED) | ||||
* | gh-106320: Move private _PySet API to the internal API (#107041) | Victor Stinner | 2023-07-22 | 1 | -0/+1 |
| | | | | | | | | * Add pycore_setobject.h header file. * Move the following API to the internal C API: * _PySet_Dummy * _PySet_NextEntry() * _PySet_Update() | ||||
* | Fix possible refleak in CodeType.replace() (GH-106243) | Serhiy Storchaka | 2023-06-29 | 1 | -0/+1 |
| | | | A reference to c_code was leaked if PySys_Audit() failed. | ||||
* | GH-104584: Assorted fixes for the optimizer API. (GH-105683) | Mark Shannon | 2023-06-19 | 1 | -4/+20 |
| | | | | | | * Add test for long loops * Clear ENTER_EXECUTOR when deopting code objects. | ||||
* | GH-100987: Allow objects other than code objects as the "executable" of an ↵ | Mark Shannon | 2023-06-14 | 1 | -73/+0 |
| | | | | | | | | | | 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 | -0/+7 |
| | |||||
* | gh-92536: Remove PyUnicode_READY() calls (#105210) | Victor Stinner | 2023-06-01 | 1 | -15/+0 |
| | | | | Since Python 3.12, PyUnicode_READY() does nothing and always returns 0. | ||||
* | GH-103082: Implementation of PEP 669: Low Impact Monitoring for CPython ↵ | Mark Shannon | 2023-04-12 | 1 | -69/+38 |
| | | | | | | | | | | (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-101865: Deprecate `co_lnotab` from code objects as per PEP 626 (#101866) | Nikita Sobolev | 2023-04-03 | 1 | -0/+5 |
| | | | Co-authored-by: Oleg Iarygin <oleg@arhadthedev.net> | ||||
* | gh-102381: don't call watcher callback with dead object (#102382) | Carl Meyer | 2023-03-08 | 1 | -1/+37 |
| | | | Co-authored-by: T. Wouters <thomas@python.org> | ||||
* | gh-101101: Unstable C API tier (PEP 689) (GH-101102) | Petr Viktorin | 2023-02-28 | 1 | -4/+5 |
| | |||||
* | gh-101907: Stop using `_Py_OPCODE` and `_Py_OPARG` macros (GH-101912) | Steve Dower | 2023-02-20 | 1 | -10/+10 |
| | | | | | | * gh-101907: Removes use of non-standard C++ extension from Include/cpython/code.h * Make cases_generator correct on Windows | ||||
* | GH-100117: Make `co_lines` more efficient (GH-100447) | Brandt Bucher | 2023-01-10 | 1 | -32/+18 |
| | |||||
* | GH-100719: Remove the `co_nplaincellvars` field from code objects. (GH-100721) | Mark Shannon | 2023-01-04 | 1 | -10/+4 |
| | |||||
* | gh-94155: Reduce hash collisions for code objects (#100183) | Dennis Sweeney | 2022-12-23 | 1 | -20/+33 |
| | | | | | | | * Uses a better hashing algorithm to get better dispersion and remove commutativity. * Incorporates `co_firstlineno`, `Py_SIZE(co)`, and bytecode instructions. * This is now the entire set of criteria used in `code_richcompare`, except for `_PyCode_ConstantKey` (which would incorporate the types of `co_consts` rather than just their values). | ||||
* | GH-100000: Cleanup and polish various watchers code (GH-99998) | Itamar Ostricher | 2022-12-14 | 1 | -4/+11 |
| | | | | | | * Initialize `type_watchers` array to `NULL`s * Optimize code watchers notification * Optimize func watchers notification | ||||
* | GH-100222: Redefine _Py_CODEUNIT as a union to clarify structure of code ↵ | Mark Shannon | 2022-12-14 | 1 | -5/+6 |
| | | | | unit. (GH-100223) | ||||
* | GH-98522: Add version number to code objects. (GH-98525) | Mark Shannon | 2022-12-09 | 1 | -2/+4 |
| | | | | | | * Add version number to code object for better versioning of functions. * Improves specialization for closures and list comprehensions. | ||||
* | GH-91054: Add code object watchers API (GH-99859) | Itamar Ostricher | 2022-12-02 | 1 | -0/+63 |
| | | | | | | * Add API to allow extensions to set callback function on creation and destruction of PyCodeObject Co-authored-by: Ye11ow-Flash <janshah@cs.stonybrook.edu> | ||||
* | gh-99845: Clean up _PyObject_VAR_SIZE() usage (#99847) | Victor Stinner | 2022-11-29 | 1 | -6/+4 |
| | | | | | | * code_sizeof() now uses an unsigned type (size_t) to compute the result. * Fix _PyObject_ComputedDictPointer(): cast _PyObject_VAR_SIZE() to Py_ssize_t, rather than long: it's a different type on 64-bit Windows. * Clarify that _PyObject_VAR_SIZE() uses an unsigned type (size_t). | ||||
* | gh-99300: Use Py_NewRef() in Objects/ directory (#99332) | Victor Stinner | 2022-11-10 | 1 | -34/+17 |
| | | | | 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 | -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 |
| |