cpython/Include
Victor Stinner d83168854e
bpo-40010: Optimize pending calls in multithreaded applications (GH-19091)
If a thread different than the main thread schedules a pending call
(Py_AddPendingCall()), the bytecode evaluation loop is no longer
interrupted at each bytecode instruction to check for pending calls
which cannot be executed. Only the main thread can execute pending
calls.

Previously, the bytecode evaluation loop was interrupted at each
instruction until the main thread executes pending calls.

* Add _Py_ThreadCanHandlePendingCalls() function.
* SIGNAL_PENDING_CALLS() now only sets eval_breaker to 1 if the
  current thread can execute pending calls. Only the main thread can
  execute pending calls.
2020-03-20 14:50:35 +01:00
..
cpython Make cpython/abstract.h compatible with C90 (#18481) 2020-03-14 13:47:09 +02:00
internal bpo-40010: Optimize pending calls in multithreaded applications (GH-19091) 2020-03-20 14:50:35 +01:00
abstract.h bpo-38600: Change the mark up of NULL in the C API documentation. (GH-16950) 2019-10-30 12:03:20 +02:00
asdl.h bpo-21120: Exclude Python-ast.h, ast.h and asdl.h from the limited API (#14634) 2019-09-12 10:27:14 +01:00
ast.h bpo-21120: Exclude Python-ast.h, ast.h and asdl.h from the limited API (#14634) 2019-09-12 10:27:14 +01:00
bitset.h
bltinmodule.h
boolobject.h bpo-39573: Add Py_IS_TYPE() function (GH-18488) 2020-02-13 18:37:17 +01:00
bytearrayobject.h bpo-39573: Add Py_IS_TYPE() function (GH-18488) 2020-02-13 18:37:17 +01:00
bytesobject.h bpo-39573: Add Py_IS_TYPE() function (GH-18488) 2020-02-13 18:37:17 +01:00
cellobject.h bpo-39573: Add Py_IS_TYPE() function (GH-18488) 2020-02-13 18:37:17 +01:00
ceval.h bpo-39877: Deprecate PyEval_InitThreads() (GH-18892) 2020-03-10 01:28:54 +01:00
classobject.h bpo-39573: PyXXX_Check() macros use Py_IS_TYPE() (GH-18508) 2020-02-14 08:48:12 +01:00
code.h bpo-39573: Add Py_IS_TYPE() function (GH-18488) 2020-02-13 18:37:17 +01:00
codecs.h
compile.h bpo-39220: Do not optimise annotation if 'from __future__ import annotations' is used (GH-17866) 2020-03-18 23:02:09 +00:00
complexobject.h bpo-39573: Add Py_IS_TYPE() function (GH-18488) 2020-02-13 18:37:17 +01:00
context.h bpo-39573: Add Py_IS_TYPE() function (GH-18488) 2020-02-13 18:37:17 +01:00
datetime.h bpo-39573: Add Py_IS_TYPE() function (GH-18488) 2020-02-13 18:37:17 +01:00
descrobject.h bpo-36974: separate vectorcall functions for each calling convention (GH-13781) 2019-07-05 14:48:24 +02:00
dictobject.h bpo-39573: Add Py_IS_TYPE() function (GH-18488) 2020-02-13 18:37:17 +01:00
dynamic_annotations.h
enumobject.h
errcode.h
eval.h
exports.h bpo-11410: Standardize and use symbol visibility attributes across POSIX and Windows. (GH-16347) 2019-10-15 08:26:12 +01:00
fileobject.h bpo-36842: Implement PEP 578 (GH-12613) 2019-05-23 08:45:22 -07:00
fileutils.h bpo-35134: Add Include/cpython/fileutils.h header file (GH-18493) 2020-02-12 23:55:09 +01:00
floatobject.h bpo-39573: Add Py_IS_TYPE() function (GH-18488) 2020-02-13 18:37:17 +01:00
frameobject.h bpo-35134: Migrate frameobject.h contents to cpython/frameobject.h (GH-18052) 2020-01-21 08:21:35 +10:00
funcobject.h bpo-39573: Add Py_IS_TYPE() function (GH-18488) 2020-02-13 18:37:17 +01:00
genobject.h bpo-39573: Add Py_IS_TYPE() function (GH-18488) 2020-02-13 18:37:17 +01:00
graminit.h
grammar.h
import.h bpo-39372: Clean header files of declared interfaces with no implementations (GH-18037) 2020-01-18 03:14:59 +00:00
interpreteridobject.h
intrcheck.h bpo-33407: Implement Py_DEPRECATED() on MSVC (GH-8980) 2019-05-28 17:16:33 +02:00
iterobject.h bpo-39573: Add Py_IS_TYPE() function (GH-18488) 2020-02-13 18:37:17 +01:00
listobject.h bpo-39573: Add Py_IS_TYPE() function (GH-18488) 2020-02-13 18:37:17 +01:00
longintrepr.h
longobject.h bpo-39573: Clean up modules and headers to use Py_IS_TYPE() function (GH-18521) 2020-02-17 11:09:15 +01:00
marshal.h
memoryobject.h bpo-39573: Add Py_IS_TYPE() function (GH-18488) 2020-02-13 18:37:17 +01:00
methodobject.h bpo-39573: Add Py_IS_TYPE() function (GH-18488) 2020-02-13 18:37:17 +01:00
modsupport.h bpo-37207: Add _PyArg_NoKwnames() helper function (GH-18980) 2020-03-16 15:06:20 +01:00
moduleobject.h bpo-39573: Add Py_IS_TYPE() function (GH-18488) 2020-02-13 18:37:17 +01:00
namespaceobject.h
node.h bpo-39702: Relax grammar restrictions on decorators (PEP 614) (GH-18570) 2020-03-03 14:25:44 -08:00
object.h bpo-39573: Make Py_IS_TYPE() take constant parameters (GH-18799) 2020-03-06 09:03:58 +01:00
objimpl.h bpo-39542: Make PyObject_INIT() opaque in limited C API (GH-18363) 2020-02-05 13:12:19 +01:00
odictobject.h bpo-39573: Add Py_IS_TYPE() function (GH-18488) 2020-02-13 18:37:17 +01:00
opcode.h bpo-39320: Handle unpacking of **values in compiler (GH-18141) 2020-01-27 09:57:45 +00:00
osdefs.h
osmodule.h
parsetok.h
patchlevel.h Post 3.9.0a4 2020-02-26 01:31:04 +01:00
picklebufobject.h bpo-39573: PyXXX_Check() macros use Py_IS_TYPE() (GH-18508) 2020-02-14 08:48:12 +01:00
py_curses.h bpo-39573: Finish converting to new Py_IS_TYPE() macro (GH-18601) 2020-03-04 14:15:20 +01:00
pyarena.h
pycapsule.h bpo-39573: Add Py_IS_TYPE() function (GH-18488) 2020-02-13 18:37:17 +01:00
pyctype.h
pydebug.h
pydtrace.d bpo-36842: Implement PEP 578 (GH-12613) 2019-05-23 08:45:22 -07:00
pydtrace.h bpo-36842: Implement PEP 578 (GH-12613) 2019-05-23 08:45:22 -07:00
pyerrors.h bpo-39882: Py_FatalError() logs the function name (GH-18819) 2020-03-07 00:54:20 +01:00
pyexpat.h
pyfpe.h bpo-38835: Exclude PyFPE macros from the stable API (GH-17228) 2019-11-20 12:17:09 +01:00
pyhash.h bpo-39127: Make _Py_HashPointer's argument be const (GH-17690) 2020-02-05 23:09:57 +02:00
pylifecycle.h bpo-36763: Make Py_BytesMain() public (GH-15532) 2019-08-27 00:45:45 +02:00
pymacconfig.h
pymacro.h bpo-38249: Expand Py_UNREACHABLE() to __builtin_unreachable() in the release mode. (GH-16329) 2020-03-09 20:49:52 +02:00
pymath.h bpo-31031: Unify duplicate bits_in_digit and bit_length (GH-2866) 2020-01-16 15:09:19 +01:00
pymem.h bpo-39542: Make _Py_NewReference() opaque in C API (GH-18346) 2020-02-05 01:11:10 +01:00
pyport.h bpo-11410: Standardize and use symbol visibility attributes across POSIX and Windows. (GH-16347) 2019-10-15 08:26:12 +01:00
pystate.h bpo-39947: Add PyThreadState_GetInterpreter() (GH-18981) 2020-03-13 23:38:08 +01:00
pystrcmp.h
pystrhex.h bpo-22385: Support output separators in hex methods. (#13578) 2019-05-29 11:46:58 -07:00
pystrtod.h
Python-ast.h bpo-39988: Remove ast.AugLoad and ast.AugStore node classes. (GH-19038) 2020-03-17 23:41:08 +02:00
Python.h bpo-35081: Move dtoa.h header to the internal C API (GH-18489) 2020-02-12 22:54:42 +01:00
pythonrun.h bpo-37189: Export old PyRun_XXX() functions (#14142) 2019-06-18 00:15:13 +02:00
pythread.h bpo-39372: Clean header files of declared interfaces with no implementations (GH-18037) 2020-01-18 03:14:59 +00:00
pytime.h Fix _PyTime_MIN/MAX values (GH-15384) 2019-08-23 16:39:09 +01:00
rangeobject.h bpo-39573: Add Py_IS_TYPE() function (GH-18488) 2020-02-13 18:37:17 +01:00
setobject.h bpo-39573: Add Py_IS_TYPE() function (GH-18488) 2020-02-13 18:37:17 +01:00
sliceobject.h bpo-39573: Add Py_IS_TYPE() function (GH-18488) 2020-02-13 18:37:17 +01:00
structmember.h
structseq.h bpo-38650: Constify PyStructSequence_UnnamedField. (GH-17005) 2019-11-16 18:55:29 +02:00
symtable.h bpo-39573: Add Py_IS_TYPE() function (GH-18488) 2020-02-13 18:37:17 +01:00
sysmodule.h bpo-36842: Implement PEP 578 (GH-12613) 2019-05-23 08:45:22 -07:00
token.h
traceback.h bpo-39573: Add Py_IS_TYPE() function (GH-18488) 2020-02-13 18:37:17 +01:00
tracemalloc.h
tupleobject.h bpo-39573: Add Py_IS_TYPE() function (GH-18488) 2020-02-13 18:37:17 +01:00
typeslots.h
ucnhash.h
unicodeobject.h bpo-39573: Add Py_IS_TYPE() function (GH-18488) 2020-02-13 18:37:17 +01:00
warnings.h
weakrefobject.h bpo-39573: Add Py_IS_TYPE() function (GH-18488) 2020-02-13 18:37:17 +01:00