Skip to content

Expose functions called from the interpreter loop via PyAPI_FUNC #131776

Open
@martindemello

Description

@martindemello

Rationale: JIT code often needs access to functions called from the interpreter loop (in ceval.c or bytecodes.c), even if they are technically internal functions. gh-115802 is a good example - it added PyAPI_FUNC to a lot of functions in Include/internal.

Cinder currently relies on a fork of 3.12 with a lot of new functions exposed; some but not all of these have also been exposed in 3.13+. As a start, I would like to send in a PR for the functions we have already needed to expose for cinder (e.g. _PyNumber_InPlacePowerNoMod), but more generally it might be useful to look at all the Py* and _Py* functions used directly in ceval or bytecodes and consider exposing them even if no specific JIT has needed them yet.

Linked PRs

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions