summaryrefslogtreecommitdiffstats
path: root/Tools
diff options
context:
space:
mode:
authorMark Shannon <mark@hotpy.org>2024-04-26 17:08:50 (GMT)
committerGitHub <noreply@github.com>2024-04-26 17:08:50 (GMT)
commit3e06c7f719b99cc7f5e8889319cff4980e41d3e8 (patch)
tree042c06326ca8b8866405375d8cf6b1f587cfa28d /Tools
parent63add11704078390909a485b57a7de6a0358fc2b (diff)
downloadcpython-3e06c7f719b99cc7f5e8889319cff4980e41d3e8.zip
cpython-3e06c7f719b99cc7f5e8889319cff4980e41d3e8.tar.gz
cpython-3e06c7f719b99cc7f5e8889319cff4980e41d3e8.tar.bz2
GH-118095: Add dynamic exit support and FOR_ITER_GEN support to tier 2 (GH-118279)
Diffstat (limited to 'Tools')
-rw-r--r--Tools/jit/template.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/Tools/jit/template.c b/Tools/jit/template.c
index 228dc83..3e81fd1 100644
--- a/Tools/jit/template.c
+++ b/Tools/jit/template.c
@@ -87,6 +87,7 @@ _JIT_ENTRY(_PyInterpreterFrame *frame, PyObject **stack_pointer, PyThreadState *
PATCH_VALUE(_PyExecutorObject *, current_executor, _JIT_EXECUTOR)
int oparg;
int uopcode = _JIT_OPCODE;
+ _Py_CODEUNIT *next_instr;
// Other stuff we need handy:
PATCH_VALUE(uint16_t, _oparg, _JIT_OPARG)
#if SIZEOF_VOID_P == 8
@@ -122,6 +123,9 @@ error_tier_two:
exit_to_tier1:
tstate->previous_executor = (PyObject *)current_executor;
GOTO_TIER_ONE(_PyCode_CODE(_PyFrame_GetCode(frame)) + _target);
+exit_to_tier1_dynamic:
+ tstate->previous_executor = (PyObject *)current_executor;
+ GOTO_TIER_ONE(frame->instr_ptr);
exit_to_trace:
{
_PyExitData *exit = &current_executor->exits[_exit_index];