It currently lives in ceval.c, but I'm noticing serious increases in compile time, possibly because the file is so large. Splitting it up should make this more bearable (esp. when using make -j).
It's not completely trivial, since there are a number of static functions (and some macros?) that are shared between the Tier 1 an Tier 2 interpreter. But those should be turned into private functions (_Py prefix, no PyAPI_FUNC macro). That will help the copy-and-patch tooling as well. (CC @brandtbucher)
Linked PRs
It currently lives in ceval.c, but I'm noticing serious increases in compile time, possibly because the file is so large. Splitting it up should make this more bearable (esp. when using
make -j).It's not completely trivial, since there are a number of static functions (and some macros?) that are shared between the Tier 1 an Tier 2 interpreter. But those should be turned into private functions (
_Pyprefix, noPyAPI_FUNCmacro). That will help the copy-and-patch tooling as well. (CC @brandtbucher)Linked PRs
_PyUopExecutetoPython/executor.c#106924