Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | bpo-45954: Rename PyConfig.no_debug_ranges to code_debug_ranges (GH-29886) | Victor Stinner | 2021-12-02 | 1 | -5/+6 |
| | | | | | | | 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-45753: Interpreter internal tweaks (GH-29575) | Mark Shannon | 2021-12-01 | 1 | -139/+194 |
| | | | | | | | | | | * Split exit paths into exceptional and non-exceptional. * Move exit tracing code to individual bytecodes. * Wrap all trace entry and exit events in macros to make them clearer and easier to enhance. * Move return sequence into RETURN_VALUE, YIELD_VALUE and YIELD_FROM. Distinguish between normal trace events and dtrace events. | ||||
* | bpo-45711: Change exc_info related APIs to derive type and traceback from ↵ | Irit Katriel | 2021-11-30 | 2 | -32/+51 |
| | | | | the exception instance (GH-29780) | ||||
* | bpo-45786: Allocate space for frame in frame object. (GH-29729) | Mark Shannon | 2021-11-29 | 2 | -30/+20 |
| | |||||
* | Remove misleading comment in the AST optimizer (#29825) | Serhiy Storchaka | 2021-11-29 | 1 | -1/+0 |
| | |||||
* | bpo-45915: use fcntl(fd, F_GETFD) in is_valid_fd() (GH-29821) | Christian Heimes | 2021-11-28 | 1 | -3/+15 |
| | |||||
* | bpo-45614: Fix traceback display for exceptions with invalid module name ↵ | Irit Katriel | 2021-11-27 | 1 | -1/+1 |
| | | | | (GH-29726) | ||||
* | bpo-45711: use exc_value instead of exc_type to determine if exc_info is ↵ | Irit Katriel | 2021-11-25 | 4 | -36/+91 |
| | | | | valid. Add more assertions. (GH-29627) | ||||
* | bpo-45020: Fix strict-prototypes warning (GH-29755) | Christian Heimes | 2021-11-24 | 1 | -1/+1 |
| | |||||
* | bpo-44525: Copy free variables in bytecode to allow calls to inner functions ↵ | Mark Shannon | 2021-11-23 | 7 | -62/+93 |
| | | | | | | | | | | | to be specialized (GH-29595) * Make internal APIs that take PyFrameConstructor take a PyFunctionObject instead. * Add reference to function to frame, borrow references to builtins and globals. * Add COPY_FREE_VARS instruction to allow specialization of calls to inner functions. | ||||
* | bpo-45850: Implement deep-freeze on Windows (#29648) | Guido van Rossum | 2021-11-22 | 1 | -5/+0 |
| | | | | | | Implement changes to build with deep-frozen modules on Windows. Note that we now require Python 3.10 as the "bootstrap" or "host" Python. This causes a modest startup speed (around 7%) on Windows. | ||||
* | bpo-45871: Refactor except matcher validation into a separate function so ↵ | Irit Katriel | 2021-11-22 | 1 | -23/+33 |
| | | | | that it can be reused. Add missing unit test. (GH-29711) | ||||
* | bpo-45813: Make sure that frame->generator is NULLed when generator is ↵ | Mark Shannon | 2021-11-22 | 1 | -0/+3 |
| | | | | deallocated. (GH-29700) | ||||
* | bpo-45848: Allow the parser to get error lines from encoded files (GH-29646) | Pablo Galindo Salgado | 2021-11-20 | 1 | -4/+14 |
| | |||||
* | Fix link to exception handling notes (GH-29617) | Irit Katriel | 2021-11-19 | 1 | -1/+1 |
| | |||||
* | bpo-45709: Fix tracing when exception is handled. (GH-29638) | Mark Shannon | 2021-11-19 | 1 | -4/+1 |
| | |||||
* | bpo-45609: Specialize STORE_SUBSCR (GH-29242) | Dennis Sweeney | 2021-11-19 | 3 | -21/+147 |
| | | | | | * Specialize STORE_SUBSCR for list[int], and dict[object] * Adds _PyDict_SetItem_Take2 which consumes references to the key and values. | ||||
* | bpo-45829: Specialize BINARY_SUBSCR for __getitem__ implemented in Python. ↵ | Mark Shannon | 2021-11-18 | 3 | -56/+107 |
| | | | | (GH-29592) | ||||
* | bpo-45510: Specialize BINARY_SUBTRACT (GH-29523) | Dong-hee Na | 2021-11-18 | 3 | -12/+60 |
| | |||||
* | bpo-45826: Fix a crash in suggestions.c by checking for `traceback is None` ↵ | Dennis Sweeney | 2021-11-17 | 1 | -3/+11 |
| | | | | (GH-29590) | ||||
* | bpo-42540: reallocation of id_mutex should not force default allocator ↵ | Sam Gross | 2021-11-17 | 1 | -1/+4 |
| | | | | | | | (GH-29564) Unlike the other locks reinitialized by _PyRuntimeState_ReInitThreads, the "interpreters.main->id_mutex" is not freed by _PyRuntimeState_Fini and should not force the default raw allocator. | ||||
* | bpo-45831: _Py_DumpASCII() uses a single write() call if possible (GH-29596) | Victor Stinner | 2021-11-17 | 1 | -0/+22 |
| | | | | If the string is ASCII only and doesn't need to escape characters, write the whole string with a single write() syscall. | ||||
* | bpo-45636: Simplify BINARY_OP (GH-29565) | Brandt Bucher | 2021-11-16 | 1 | -83/+34 |
| | |||||
* | bpo-45753: Make recursion checks more efficient. (GH-29524) | Mark Shannon | 2021-11-16 | 6 | -36/+40 |
| | | | | * Uses recursion remaining, instead of recursion depth to speed up check against recursion limit. | ||||
* | bpo-28533: Remove asyncore, asynchat, smtpd modules (GH-29521) | Victor Stinner | 2021-11-15 | 1 | -3/+0 |
| | | | | | | | | | | | | | | | | Remove the asyncore and asynchat modules, deprecated in Python 3.6: use the asyncio module instead. Remove the smtpd module, deprecated in Python 3.6: the aiosmtpd module can be used instead, it is based on asyncio. * Remove asyncore, asynchat and smtpd documentation * Remove test_asyncore, test_asynchat and test_smtpd * Rename Lib/asynchat.py to Lib/test/support/_asynchat.py * Rename Lib/asyncore.py to Lib/test/support/_asyncore.py * Rename Lib/smtpd.py to Lib/test/support/_smtpd.py * Remove DeprecationWarning from private _asyncore, _asynchat and _smtpd modules * _smtpd: remove deprecated properties | ||||
* | bpo-45636: Remove the old %-formatting fast-path (GH-29532) | Brandt Bucher | 2021-11-15 | 2 | -12/+8 |
| | |||||
* | bpo-45711: assert that the type of exc_info is redundant (GH-29518) | Irit Katriel | 2021-11-12 | 1 | -0/+25 |
| | |||||
* | bpo-45773: Stop "optimizing" certain jump patterns (GH-29505) | Brandt Bucher | 2021-11-11 | 1 | -76/+41 |
| | |||||
* | bpo-45636: Merge all numeric operators (GH-29482) | Brandt Bucher | 2021-11-11 | 4 | -700/+338 |
| | |||||
* | bpo-45696: Deep-freeze selected modules (GH-29118) | Guido van Rossum | 2021-11-11 | 4 | -32/+120 |
| | | | | | | | This gains 10% or more in startup time for `python -c pass` on UNIX-ish systems. The Makefile.pre.in generating code builds on Eric's work for bpo-45020, but the .c file generator is new. Windows version TBD. | ||||
* | bpo-45711: remove unnecessary DUP_TOP and POP in exception handling (GH-29495) | Irit Katriel | 2021-11-10 | 2 | -10/+5 |
| | |||||
* | bpo-45292: [PEP 654] Update traceback display code to work with exception ↵ | Irit Katriel | 2021-11-05 | 2 | -72/+363 |
| | | | | groups (GH-29207) | ||||
* | bpo-45688: Add _scproxy to sys.stdlib_module_names (GH-29358) | Christian Heimes | 2021-11-02 | 1 | -0/+1 |
| | |||||
* | bpo-45379: clarify FROZEN_EXCLUDED and FROZEN_INVALID documentation (GH-29189) | Filipe Laíns | 2021-10-29 | 1 | -2/+7 |
| | | | | Signed-off-by: Filipe Laíns <lains@riseup.net> Co-authored-by: Łukasz Langa <lukasz@langa.pl> | ||||
* | bpo-45395: Make custom frozen modules additions instead of replacements. ↵ | Eric Snow | 2021-10-28 | 2 | -53/+125 |
| | | | | | | | | | (gh-28778) Currently custom modules (the array set on PyImport_FrozenModules) replace all the frozen stdlib modules. That can be problematic and is unlikely to be what the user wants. This change treats the custom frozen modules as additions instead. They take precedence over all other frozen modules except for those needed to bootstrap the import system. If the "code" field of an entry in the custom array is NULL then that frozen module is treated as disabled, which allows a custom entry to disable a frozen stdlib module. This change allows us to get rid of is_essential_frozen_module() and simplifies the logic for which frozen modules should be ignored. https://bugs.python.org/issue45395 | ||||
* | bpo-45379: add custom error string for FROZEN_DISABLED (GH-29190) | Filipe Laíns | 2021-10-28 | 1 | -1/+3 |
| | | | | | Signed-off-by: Filipe Laíns <lains@riseup.net> Co-authored-by: Gareth Rees <gdr@garethrees.org> | ||||
* | Store actual ints, not pointers to them in the interpreter state. (GH-29274) | Mark Shannon | 2021-10-28 | 1 | -3/+1 |
| | |||||
* | bpo-45256: Rationalize code around Python-to-Python calls a bit. (GH-29235) | Mark Shannon | 2021-10-28 | 2 | -63/+100 |
| | |||||
* | bpo-44525: Add recursive checks for `CALL_FUNCTION_BUILTIN_O` (GH-29271) | Ken Jin | 2021-10-28 | 1 | -0/+6 |
| | |||||
* | bpo-45637: Store the frame pointer in the cframe (GH-29267) | Mark Shannon | 2021-10-28 | 5 | -31/+32 |
| | | | * Rename 'frame' to 'current_frame' | ||||
* | Don't make a call at the C level when calling bound-methods from Python ↵ | Mark Shannon | 2021-10-27 | 1 | -1/+14 |
| | | | | code. (GH-29238) | ||||
* | bpo-44511: Improve the bytecode for class and mapping patterns (GH-26922) | Brandt Bucher | 2021-10-27 | 3 | -80/+75 |
| | | | | | | | * Refactor mapping patterns and speed up class patterns. * Simplify MATCH_KEYS and MATCH_CLASS. * Add COPY opcode. | ||||
* | bpo-45506: Normalize _PyPathConfig.stdlib_dir when calculated. (#29040) | Eric Snow | 2021-10-22 | 1 | -0/+95 |
| | | | | | The recently added PyConfig.stdlib_dir was being set with ".." entries. When __file__ was added for from modules this caused a problem on out-of-tree builds. This PR fixes that by normalizing "stdlib_dir" when it is calculated in getpath.c. https://bugs.python.org/issue45506 | ||||
* | bpo-45292: [PEP 654] add the ExceptionGroup and BaseExceptionGroup classes ↵ | Irit Katriel | 2021-10-22 | 1 | -0/+2 |
| | | | | (GH-28569) | ||||
* | bpo-45522: Allow to disable freelists on build time (GH-29056) | Christian Heimes | 2021-10-21 | 1 | -8/+15 |
| | | | | | | | | Freelists for object structs can now be disabled. A new ``configure`` option ``--without-freelists`` can be used to disable all freelists except empty tuple singleton. Internal Py*_MAXFREELIST macros can now be defined as 0 without causing compiler warnings and segfaults. Signed-off-by: Christian Heimes <christian@python.org> | ||||
* | bpo-45527: Don't count cache hits, just misses. (GH-29092) | Mark Shannon | 2021-10-20 | 2 | -60/+33 |
| | |||||
* | bpo-44525: Specialize simple Python calls. (GH-29033) | Mark Shannon | 2021-10-20 | 3 | -37/+143 |
| | |||||
* | bpo-44525: Specialize ``CALL_FUNCTION`` for C function calls (GH-26934) | Ken Jin | 2021-10-19 | 3 | -27/+321 |
| | |||||
* | Record cache hits for BINARY_SUBSCR specializations (GH-29060) | Ken Jin | 2021-10-19 | 1 | -0/+3 |
| | |||||
* | bpo-35134: Add Include/cpython/longobject.h (GH-29044) | Victor Stinner | 2021-10-19 | 2 | -2/+3 |
| | | | | | | | | | | Move Include/longobject.h non-limited API to a new Include/cpython/longobject.h header file. Move the following definitions to the internal C API: * _PyLong_DigitValue * _PyLong_FormatAdvancedWriter() * _PyLong_FormatWriter() |