diff options
author | Guido van Rossum <guido@python.org> | 2023-08-16 23:26:43 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-08-16 23:26:43 (GMT) |
commit | dc8fdf5fd5f572e87152883f15f35c354fa4b4bf (patch) | |
tree | 8b4c01a4f29113416bda04ebecc1da7126400bb5 /Python/ceval.c | |
parent | 665a4391e10167dad1c854fb604c86f336fcd331 (diff) | |
download | cpython-dc8fdf5fd5f572e87152883f15f35c354fa4b4bf.zip cpython-dc8fdf5fd5f572e87152883f15f35c354fa4b4bf.tar.gz cpython-dc8fdf5fd5f572e87152883f15f35c354fa4b4bf.tar.bz2 |
gh-106581: Split `CALL_PY_EXACT_ARGS` into uops (#107760)
* Split `CALL_PY_EXACT_ARGS` into uops
This is only the first step for doing `CALL` in Tier 2.
The next step involves tracing into the called code object and back.
After that we'll have to do the remaining `CALL` specialization.
Finally we'll have to deal with `KW_NAMES`.
Note: this moves setting `frame->return_offset` directly in front of
`DISPATCH_INLINED()`, to make it easier to move it into `_PUSH_FRAME`.
Diffstat (limited to 'Python/ceval.c')
-rw-r--r-- | Python/ceval.c | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/Python/ceval.c b/Python/ceval.c index b966399..26e741e 100644 --- a/Python/ceval.c +++ b/Python/ceval.c @@ -602,11 +602,6 @@ int _Py_CheckRecursiveCallPy( return 0; } -static inline int _Py_EnterRecursivePy(PyThreadState *tstate) { - return (tstate->py_recursion_remaining-- <= 0) && - _Py_CheckRecursiveCallPy(tstate); -} - static inline void _Py_LeaveRecursiveCallPy(PyThreadState *tstate) { tstate->py_recursion_remaining++; @@ -770,6 +765,7 @@ resume_frame: #endif { +#define TIER_ONE 1 #include "generated_cases.c.h" /* INSTRUMENTED_LINE has to be here, rather than in bytecodes.c, |