summaryrefslogtreecommitdiffstats
path: root/Python
Commit message (Collapse)AuthorAgeFilesLines
...
* gh-74953: _PyThread_cond_after() uses _PyTime_t (#94056)Victor Stinner2022-06-212-29/+16
| | | | | | pthread _PyThread_cond_after() implementation now uses the _PyTime_t type to handle properly overflow: clamp to the maximum value. Remove MICROSECONDS_TO_TIMESPEC() function.
* GH-91432: Specialize FOR_ITER (GH-91713)Dennis Sweeney2022-06-213-37/+118
| | | | | * Adds FOR_ITER_LIST and FOR_ITER_RANGE specializations. * Adds _PyLong_AssignValue() internal function to avoid temporary boxing of ints.
* GH-93678: refactor compiler so that optimizer does not need the assembler ↵Irit Katriel2022-06-211-160/+169
| | | | and compiler structs (GH-93842)
* gh-94021: Address unreachable code warning in specialize code (GH-94022)Christian Heimes2022-06-211-1/+2
|
* gh-93937: PyOS_StdioReadline() uses PyConfig.legacy_windows_stdio (#94024)Victor Stinner2022-06-201-0/+3
| | | | | | | On Windows, PyOS_StdioReadline() now gets PyConfig.legacy_windows_stdio from _PyOS_ReadlineTState, rather than using the deprecated global Py_LegacyWindowsStdioFlag variable. Fix also a compiler warning in Py_SetStandardStreamEncoding().
* GH-93516: Speedup line number checks when tracing. (GH-93763)Mark Shannon2022-06-201-7/+9
| | | | * 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 Shannon2022-06-203-41/+15
| | | | on thread frame stack. (GH-93908)
* gh-93937, C API: Move PyFrame_GetBack() to Python.h (#93938)Victor Stinner2022-06-196-6/+4
| | | | | | | | | | | | | | | | Move the follow functions and type from frameobject.h to pyframe.h, so the standard <Python.h> provide frame getter functions: * PyFrame_Check() * PyFrame_GetBack() * PyFrame_GetBuiltins() * PyFrame_GetGenerator() * PyFrame_GetGlobals() * PyFrame_GetLasti() * PyFrame_GetLocals() * PyFrame_Type Remove #include "frameobject.h" from many C files. It's no longer needed.
* gh-74953: Reformat PyThread_acquire_lock_timed() (#93947)Victor Stinner2022-06-191-46/+62
| | | | | | | | Reformat the pthread implementation of PyThread_acquire_lock_timed() using a mutex and a conditioinal variable. * Add goto to avoid multiple indentation levels and exit quickly * Use "while(1)" and make the control flow more obvious. * PEP 7: Add braces around if blocks.
* gh-93911: Specialize `LOAD_ATTR_PROPERTY` (GH-93912)Ken Jin2022-06-173-22/+97
|
* gh-77782: Deprecate global configuration variable (#93943)Victor Stinner2022-06-172-0/+24
| | | | | | | Deprecate global configuration variable like Py_IgnoreEnvironmentFlag: the Py_InitializeFromConfig() API should be instead. Fix declaration of Py_GETENV(): use PyAPI_FUNC(), not PyAPI_DATA().
* gh-74953: Fix PyThread_acquire_lock_timed() code recomputing the timeout ↵Victor Stinner2022-06-171-1/+1
| | | | | (#93941) Set timeout, don't create a local variable with the same name.
* gh-74953: Add _PyTime_FromMicrosecondsClamp() function (#93942)Victor Stinner2022-06-172-16/+17
|
* gh-77782: Py_FdIsInteractive() now uses PyConfig.interactive (#93916)Victor Stinner2022-06-174-14/+17
|
* gh-91985: Ensure in-tree builds override platstdlib_dir in every path ↵neonene2022-06-161-1/+22
| | | | calculation (GH-93641)
* Fix BINARY_SUBSCR_GETITEM stats (GH-93903)Ken Jin2022-06-162-7/+7
|
* Rename 'LOAD_METHOD' specialization stat consts to 'ATTR'. (GH-93812)Mark Shannon2022-06-141-17/+14
|
* Remove LOAD_METHOD stats. (GH-93807)Mark Shannon2022-06-141-1/+0
|
* GH-93678: reduce boilerplate and code repetition in the compiler (GH-93682)Irit Katriel2022-06-141-261/+150
|
* GH-93429: Merge `LOAD_METHOD` back into `LOAD_ATTR` (GH-93430)Ken Jin2022-06-144-243/+194
|
* GH-93516: Store offset of first traceable instruction in code object (GH-93769)Mark Shannon2022-06-141-52/+37
|
* GH-93662: Make sure that column offsets are correct in multi-line method ↵Mark Shannon2022-06-141-4/+16
| | | | calls. (GH-93673)
* gh-93741: Add private C API _PyImport_GetModuleAttrString() (GH-93742)Serhiy Storchaka2022-06-142-29/+45
| | | | | | It combines PyImport_ImportModule() and PyObject_GetAttrString() and saves 4-6 lines of code on every use. Add also _PyImport_GetModuleAttr() which takes Python strings as arguments.
* Add more FOR_ITER specialization stats (GH-32151)Dennis Sweeney2022-06-131-2/+26
|
* GH-93621: reorder code in with/async-with exception exit path to reduce the ↵Irit Katriel2022-06-101-7/+13
| | | | size of the exception table (GH-93622)
* Fix MSVC compiler warnings in ceval.c (#93569)Ken Jin2022-06-071-2/+2
|
* Shrink the LOAD_METHOD cache by one codeunit. (#93537)Mark Shannon2022-06-072-13/+7
|
* GH-93444: remove redundant fields from basicblock: b_nofallthrough, b_exit, ↵Irit Katriel2022-06-031-78/+74
| | | | b_return (GH-93445)
* gh-93356: Lay out exception handling code at end of code unit (GH-92769)Irit Katriel2022-06-021-42/+220
|
* gh-92597: Improve error message for AST nodes with invalid ranges (GH-93398)Pablo Galindo Salgado2022-06-011-3/+3
|
* gh-90300: split --help output into separate options (#30331)Éric2022-06-012-65/+123
| | | | | | Make --help output shorter and add new help options. --help-env, --help-xoptions and --help-all command-line options are added to complement --help.
* gh-92597: Ensure that AST nodes without explicit end positions can be ↵Pablo Galindo Salgado2022-05-311-12/+12
| | | | compiled (GH-93359)
* gh-93143: Avoid NULL check in LOAD_FAST based on analysis in the compiler ↵Dennis Sweeney2022-05-313-24/+130
| | | | (GH-93144)
* GH-93354: Use exponential backoff to avoid excessive specialization ↵Mark Shannon2022-05-312-43/+46
| | | | attempts. (GH-93355)
* gh-93351: Ensure the position information in AST nodes created by the parser ↵Pablo Galindo Salgado2022-05-301-0/+26
| | | | is always consistent (GH-93352)
* gh-93008: refactor compiler functions that add instructions to take only a ↵Irit Katriel2022-05-291-60/+61
| | | | basicblock* (not the whole compiler) (GH-93009)
* bpo-40514: Drop EXPERIMENTAL_ISOLATED_SUBINTERPRETERS (gh-93185)Eric Snow2022-05-275-102/+0
| | | | | | | This was added for bpo-40514 (gh-84694) to test out a per-interpreter GIL. However, it has since proven unnecessary to keep the experiment in the repo. (It can be done as a branch in a fork like normal.) So here we are removing: * the configure option * the macro * the code enabled by the macro
* GH-90230: Add stats to breakdown the origin of calls to `PyEval_EvalFrame` ↵Mark Shannon2022-05-273-2/+9
| | | | (GH-93284)
* GH-93207: Remove HAVE_STDARG_PROTOTYPES configure check for stdarg.h (#93215)Kumar Aditya2022-05-277-64/+0
|
* gh-93223: More aggressive Jump-To-Jump elimination (GH-93229)Dennis Sweeney2022-05-271-1/+1
|
* gh-93217: fix some issues in man page and --help (#93219)Éric2022-05-261-5/+4
|
* gh-92777: Add LOAD_METHOD_LAZY_DICT (GH-92778)Ken Jin2022-05-253-18/+50
|
* gh-91924: Fix __lltrace__ for non-UTF-8 stdout encoding (#93199)Victor Stinner2022-05-251-1/+3
| | | | | | | | Fix __lltrace__ debug feature if the stdout encoding is not UTF-8. If the stdout encoding is not UTF-8, the first call to lltrace_resume_frame() indirectly sets lltrace to 0 when calling unicode_check_encoding_errors() which calls encodings.search_function().
* gh-93103: Py_DecodeLocale() uses _PyRuntime.preconfig (#93187)Victor Stinner2022-05-242-22/+14
| | | | | | | | | | The Py_DecodeLocale() and Py_EncodeLocale() now use _PyRuntime.preconfig, rather than Py_UTF8Mode and Py_LegacyWindowsFSEncodingFlag global configuration varibles, to decide if the UTF-8 encoding is used or not. As documented, these functions must not be called before Python is preinitialized. The new PyConfig API should now be used, rather than using deprecated functions like Py_SetPath() or PySys_SetArgv().
* gh-93103: Parser uses PyConfig.parser_debug instead of Py_DebugFlag (#93106)Victor Stinner2022-05-241-1/+1
| | | | | | | * Replace deprecated Py_DebugFlag with PyConfig.parser_debug in the parser. * Add Parser.debug member. * Add tok_state.debug member. * Py_FrozenMain(): Replace Py_VerboseFlag with PyConfig.verbose.
* gh-93065: Fix HAMT to iterate correctly over 7-level deep trees (GH-93066)Yury Selivanov2022-05-231-3/+11
| | | | | | | Also while there, clarify a few things about why we reduce the hash to 32 bits. Co-authored-by: Eli Libman <eli@hyro.ai> Co-authored-by: Yury Selivanov <yury@edgedb.com> Co-authored-by: Łukasz Langa <lukasz@langa.pl>
* gh-93061: Mark as artificial: backwards jump after async for (GH-93062)Dennis Sweeney2022-05-231-0/+2
|
* GH-89914: Make the oparg of the YIELD_VALUE instruction equal the stack ↵Mark Shannon2022-05-193-9/+13
| | | | depth. (GH-92960)
* GH-90690: Remove `PRECALL` instruction (GH-92925)Mark Shannon2022-05-194-309/+211
|
* Split refcount stats into 'interpreter' and 'non-interpreter' (GH-92919)Mark Shannon2022-05-183-0/+6
|