cpython/Include
Mark Shannon ae0a2b7562
bpo-44590: Lazily allocate frame objects (GH-27077)
* 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.
2021-07-26 11:22:16 +01:00
..
cpython bpo-44590: Lazily allocate frame objects (GH-27077) 2021-07-26 11:22:16 +01:00
internal bpo-44590: Lazily allocate frame objects (GH-27077) 2021-07-26 11:22:16 +01:00
abstract.h
bltinmodule.h
boolobject.h
bytearrayobject.h
bytesobject.h
cellobject.h
ceval.h
classobject.h
code.h
codecs.h
compile.h
complexobject.h
context.h
datetime.h
descrobject.h
dictobject.h
dynamic_annotations.h
enumobject.h
errcode.h
eval.h
exports.h
fileobject.h
fileutils.h
floatobject.h
frameobject.h
funcobject.h bpo-44207: Add an internal version number to function objects. (GH-27078) 2021-07-12 10:01:01 +01:00
genericaliasobject.h bpo-44654: Refactor and clean up the union type implementation (GH-27196) 2021-07-17 22:44:10 +03:00
genobject.h bpo-44590: Lazily allocate frame objects (GH-27077) 2021-07-26 11:22:16 +01:00
import.h
interpreteridobject.h
intrcheck.h
iterobject.h
listobject.h
longintrepr.h
longobject.h
marshal.h
memoryobject.h
methodobject.h
modsupport.h bpo-20201: variadic arguments support for AC (GH-18609) 2021-07-16 18:43:02 +03:00
moduleobject.h
namespaceobject.h
object.h bpo-42747: Remove Py_TPFLAGS_HAVE_AM_SEND and make Py_TPFLAGS_HAVE_VERSION_TAG no-op (GH-27260) 2021-07-23 06:21:11 -07:00
objimpl.h
opcode.h bpo-26280: Port BINARY_SUBSCR to PEP 659 adaptive interpreter (GH-27043) 2021-07-15 13:13:12 +01:00
osdefs.h
osmodule.h
patchlevel.h
py_curses.h
pycapsule.h
pydtrace.d
pydtrace.h
pyerrors.h
pyexpat.h
pyframe.h
pyhash.h
pylifecycle.h
pymacconfig.h
pymacro.h
pymath.h
pymem.h
pyport.h
pystate.h
pystrcmp.h
pystrhex.h
pystrtod.h
Python.h bpo-44363: Get test_capi passing with address sanitizer (GH-26639) 2021-06-10 12:37:22 +01:00
pythonrun.h
pythread.h
rangeobject.h
README.rst
setobject.h
sliceobject.h
structmember.h
structseq.h
sysmodule.h
token.h
traceback.h
tracemalloc.h
tupleobject.h
typeslots.h
unicodeobject.h
warnings.h
weakrefobject.h

The Python C API
================

The C API is divided into three sections:

1. ``Include/``: Limited API
2. ``Include/cpython/``: CPython implementation details
3. ``Include/internal/``: The internal API

Information on changing the C API is available `in the developer guide`_

.. _in the developer guide: https://devguide.python.org/c-api/