Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | bpo-45527: Don't count cache hits, just misses. (GH-29092) | Mark Shannon | 2021-10-20 | 1 | -46/+7 | |
| | ||||||
* | bpo-44525: Specialize simple Python calls. (GH-29033) | Mark Shannon | 2021-10-20 | 1 | -3/+42 | |
| | ||||||
* | bpo-44525: Specialize ``CALL_FUNCTION`` for C function calls (GH-26934) | Ken Jin | 2021-10-19 | 1 | -0/+147 | |
| | ||||||
* | Record cache hits for BINARY_SUBSCR specializations (GH-29060) | Ken Jin | 2021-10-19 | 1 | -0/+3 | |
| | ||||||
* | bpo-43760: Rename _PyThreadState_DisableTracing() (GH-29032) | Victor Stinner | 2021-10-18 | 1 | -7/+7 | |
| | | | | | | * Rename _PyThreadState_DisableTracing() to _PyThreadState_PauseTracing() * Rename _PyThreadState_ResetTracing() to _PyThreadState_ResumeTracing() | |||||
* | bpo-45256: Avoid C calls for most Python to Python calls. (GH-28937) | Mark Shannon | 2021-10-18 | 1 | -153/+97 | |
| | | | | | | * Avoid making C calls for most calls to Python functions. * Change initialize_locals(steal=true) and _PyTuple_FromArraySteal to consume the argument references regardless of whether they succeed or fail. | |||||
* | bpo-43760: Add PyThreadState_EnterTracing() (GH-28542) | Victor Stinner | 2021-10-15 | 1 | -10/+7 | |
| | | | | | | | | | | Add PyThreadState_EnterTracing() and PyThreadState_LeaveTracing() functions to the limited C API to suspend and resume tracing and profiling. Add an unit test on the PyThreadState C API to _testcapi. Add also internal _PyThreadState_DisableTracing() and _PyThreadState_ResetTracing(). | |||||
* | bpo-45367: Specialize BINARY_MULTIPLY (GH-28727) | Dennis Sweeney | 2021-10-14 | 1 | -1/+61 | |
| | ||||||
* | Ensure that instruction cases are self-contained (GH-28938) | Brandt Bucher | 2021-10-13 | 1 | -6/+6 | |
| | ||||||
* | bpo-45256: Fix cleanup of stolen locals for Python-to-Python calls (GH-28905) | Pablo Galindo Salgado | 2021-10-13 | 1 | -10/+24 | |
| | ||||||
* | bpo-45340: Don't create object dictionaries unless actually needed (GH-28802) | Mark Shannon | 2021-10-13 | 1 | -36/+36 | |
| | | | | | | | | | | | | | | * Never change types' cached keys. It could invalidate inline attribute objects. * Lazily create object dictionaries. * Update specialization of LOAD/STORE_ATTR. * Don't update shared keys version for deletion of value. * Update gdb support to handle instance values. * Rename SPLIT_KEYS opcodes to INSTANCE_VALUE. | |||||
* | pycore_pystate.h no longer redefines PyThreadState_GET() (GH-28921) | Victor Stinner | 2021-10-13 | 1 | -1/+1 | |
| | | | | | | | | | | | | | | | | | | | | | | Redefining the PyThreadState_GET() macro in pycore_pystate.h is useless since it doesn't affect files not including it. Either use _PyThreadState_GET() directly, or don't use pycore_pystate.h internal C API. For example, the _testcapi extension don't use the internal C API, but use the public PyThreadState_Get() function instead. Replace PyThreadState_Get() with _PyThreadState_GET(). The _PyThreadState_GET() macro is more efficient than PyThreadState_Get() and PyThreadState_GET() function calls which call fail with a fatal Python error. posixmodule.c and _ctypes extension now include <windows.h> before pycore header files (like pycore_call.h). _PyTraceback_Add() now uses _PyErr_Fetch()/_PyErr_Restore() instead of PyErr_Fetch()/PyErr_Restore(). The _decimal and _xxsubinterpreters extensions are now built with the Py_BUILD_CORE_MODULE macro defined to get access to the internal C API. | |||||
* | bpo-45439: Move _PyObject_CallNoArgs() to pycore_call.h (GH-28895) | Victor Stinner | 2021-10-12 | 1 | -2/+2 | |
| | | | | | | | * Move _PyObject_CallNoArgs() to pycore_call.h (internal C API). * _ssl, _sqlite and _testcapi extensions now call the public PyObject_CallNoArgs() function, rather than _PyObject_CallNoArgs(). * _lsprof extension is now built with Py_BUILD_CORE_MODULE macro defined to get access to internal _PyObject_CallNoArgs(). | |||||
* | bpo-45439: Rename _PyObject_CallNoArg() to _PyObject_CallNoArgs() (GH-28891) | Victor Stinner | 2021-10-11 | 1 | -5/+5 | |
| | | | | | Fix typo in the private _PyObject_CallNoArg() function name: rename it to _PyObject_CallNoArgs() to be consistent with the public function PyObject_CallNoArgs(). | |||||
* | Restore PEP 523 functionality. (GH-28871) | Mark Shannon | 2021-10-11 | 1 | -4/+2 | |
| | ||||||
* | bpo-45256: Small cleanups for the code that inlines Python-to-Python calls ↵ | Pablo Galindo Salgado | 2021-10-09 | 1 | -11/+22 | |
| | | | | in ceval.c (GH-28836) | |||||
* | bpo-45256: Remove the usage of the C stack in Python to Python calls (GH-28488) | Pablo Galindo Salgado | 2021-10-09 | 1 | -29/+120 | |
| | | | | Ths commit inlines calls to Python functions in the eval loop and steals all the arguments in the call from the caller for performance. | |||||
* | bpo-40116: Add insertion order bit-vector to dict values to allow dicts to ↵ | Mark Shannon | 2021-10-06 | 1 | -5/+6 | |
| | | | | share keys more freely. (GH-28520) | |||||
* | Normalize jumps in compiler. All forward jumps to use JUMP_FORWARD. (GH-28755) | Mark Shannon | 2021-10-06 | 1 | -12/+12 | |
| | ||||||
* | bpo-43760: Check for tracing using 'bitwise or' instead of branch in ↵ | Mark Shannon | 2021-10-05 | 1 | -213/+240 | |
| | | | | dispatch. (GH-28723) | |||||
* | Fix compiler warning in ceval.c regarding signed comparison (GH-28716) | Pablo Galindo Salgado | 2021-10-04 | 1 | -1/+1 | |
| | ||||||
* | bpo-45355: Use sizeof(_Py_CODEUNIT) instead of literal 2 for the size of the ↵ | Serhiy Storchaka | 2021-10-03 | 1 | -9/+9 | |
| | | | | code unit (GH-28711) | |||||
* | Fix a couple of compiler warnings. (GH-28677) | Mark Shannon | 2021-10-01 | 1 | -2/+2 | |
| | ||||||
* | bpo-45107: Make LOAD_METHOD_CLASS safer and faster, clean up comments (GH-28177) | Ken Jin | 2021-09-17 | 1 | -7/+2 | |
| | | | | | * Improve comments * Check cls is a type, remove dict calculation | |||||
* | bpo-45045: Optimize mapping patterns of structural pattern matching (GH-28043) | Dong-hee Na | 2021-08-30 | 1 | -6/+17 | |
| | ||||||
* | bpo-44945: Specialize BINARY_ADD (GH-27967) | Mark Shannon | 2021-08-27 | 1 | -15/+114 | |
| | ||||||
* | bpo-44990: Change layout of evaluation frames. "Layout B" (GH-27933) | Mark Shannon | 2021-08-25 | 1 | -36/+40 | |
| | | | Places the locals between the specials and stack. This is the more "natural" layout for a C struct, makes the code simpler and gives a slight speedup (~1%) | |||||
* | bpo-44889: Specialize LOAD_METHOD with PEP 659 adaptive interpreter (GH-27722) | Ken Jin | 2021-08-17 | 1 | -15/+127 | |
| | | | | | | | | Adds four new instructions: * LOAD_METHOD_ADAPTIVE * LOAD_METHOD_CACHED * LOAD_METHOD_MODULE * LOAD_METHOD_CLASS | |||||
* | bpo-44900: Add five superinstructions. (GH-27741) | Mark Shannon | 2021-08-16 | 1 | -9/+86 | |
| | | | | | | | | * LOAD_FAST LOAD_FAST * STORE_FAST LOAD_FAST * LOAD_FAST LOAD_CONST * LOAD_CONST LOAD_FAST * STORE_FAST STORE_FAST | |||||
* | bpo-44890: collect specialization stats if Py_DEBUG (GH-27731) | Irit Katriel | 2021-08-12 | 1 | -1/+1 | |
| | ||||||
* | bpo-44878: Remove loop from interpreter. All dispatching is done by gotos. ↵ | Mark Shannon | 2021-08-12 | 1 | -14/+17 | |
| | | | | (GH-27727) | |||||
* | bpo-44878: Remove the switch from the main interpreter loop when using ↵ | Mark Shannon | 2021-08-11 | 1 | -177/+206 | |
| | | | | | | | | computed gotos. (GH-27726) * Refactor dispatch logic to make flow of control clearer. Moves lltrace and dxprofile instrumentation into DISPATCH macro. * Remove switch in interpreter loop when using computed gotos. There is no need for two nearly-duplicate dispatch tables. | |||||
* | bpo-44878: _PyEval_EvalFrameDefault readability improvements (GH-27725) | Mark Shannon | 2021-08-11 | 1 | -51/+49 | |
| | | | | | * Move a few variable declarations to point of definition. * Factor out tracing of function entry into helper function. | |||||
* | Add missing DISPATCH() (GH-27715) | Mark Shannon | 2021-08-11 | 1 | -0/+2 | |
| | ||||||
* | Fix stats for STORE_ATTR specialization. (GH-27708) | Mark Shannon | 2021-08-10 | 1 | -0/+2 | |
| | ||||||
* | bpo-44826: Specialize STORE_ATTR (GH-27590) | Mark Shannon | 2021-08-09 | 1 | -4/+121 | |
| | | | | | | | * Generalize cache names for LOAD_ATTR to allow store and delete specializations. * Factor out specialization of attribute dictionary access. * Specialize STORE_ATTR. | |||||
* | Add option to write specialization stats to files and script to summarize. ↵ | Mark Shannon | 2021-08-04 | 1 | -0/+2 | |
| | | | | | | | (GH-27575) * Add option to write stats to random file in a directory. * Add script to summarize stats. | |||||
* | Minor fixes to specialization stats. (GH-27457) | Mark Shannon | 2021-07-29 | 1 | -0/+3 | |
| | | | | | * Use class, not value for fail stats for BINARY_SUBSCR. * Fix counts for unquickened instructions. | |||||
* | bpo-44590: Lazily allocate frame objects (GH-27077) | Mark Shannon | 2021-07-26 | 1 | -208/+223 | |
| | | | | | | | | | | | | | | * Convert "specials" array to InterpreterFrame struct, adding f_lasti, f_state and other non-debug FrameObject fields to it. * Refactor, calls pushing the call to the interpreter upward toward _PyEval_Vector. * Compute f_back when on thread stack, only filling in value when frame object outlives stack invocation. * Move ownership of InterpreterFrame in generator from frame object to generator object. * Do not create frame objects for Python calls. * Do not create frame objects for generators. | |||||
* | bpo-44645: Check for interrupts on any potentially backwards edge (GH-27216) | Mark Shannon | 2021-07-19 | 1 | -1/+6 | |
| | ||||||
* | Revert "bpo-44645: Check for interrupts on any potentially backwards edge. ↵ | Pablo Galindo Salgado | 2021-07-16 | 1 | -6/+1 | |
| | | | | | (GH-27167)" (#27194) This reverts commit 000e70ad5246732fcbd27cf59268185cbd5ad734. | |||||
* | bpo-44645: Check for interrupts on any potentially backwards edge. (GH-27167) | Mark Shannon | 2021-07-16 | 1 | -1/+6 | |
| | ||||||
* | Remove sys._deactivate_opcache() now that is not needed (GH-27154) | Pablo Galindo Salgado | 2021-07-15 | 1 | -13/+0 | |
| | ||||||
* | bpo-26280: Port BINARY_SUBSCR to PEP 659 adaptive interpreter (GH-27043) | Irit Katriel | 2021-07-15 | 1 | -0/+116 | |
| | ||||||
* | bpo-44570: Fix line tracing for forwards jumps to duplicated tails (GH-27068) | Mark Shannon | 2021-07-08 | 1 | -4/+2 | |
| | ||||||
* | bpo-44581: Don't execute quickened instructions if tracing is on (GH-27064) | Mark Shannon | 2021-07-08 | 1 | -1/+9 | |
| | ||||||
* | bpo-44530: Add co_qualname field to PyCodeObject (GH-26941) | Gabriele N. Tornetta | 2021-07-07 | 1 | -3/+1 | |
| | ||||||
* | bpo-12022: Change error type for bad objects in "with" and "async with" ↵ | Serhiy Storchaka | 2021-06-29 | 1 | -18/+30 | |
| | | | | | | | | | (GH-26809) A TypeError is now raised instead of an AttributeError in "with" and "async with" statements for objects which do not support the context manager or asynchronous context manager protocols correspondingly. | |||||
* | bpo-44486: Make sure that modules always have a dictionary. (GH-26847) | Mark Shannon | 2021-06-23 | 1 | -0/+1 | |
| | | | * Make sure that modules always have a dictionary. | |||||
* | bpo-44472: Fix ltrace functionality when exceptions are raised (GH-26822) | Pablo Galindo | 2021-06-21 | 1 | -0/+3 | |
| |