diff options
Diffstat (limited to 'Tools/jit/template.c')
-rw-r--r-- | Tools/jit/template.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/Tools/jit/template.c b/Tools/jit/template.c index 68cf75942d8..5ee26f93f1e 100644 --- a/Tools/jit/template.c +++ b/Tools/jit/template.c @@ -50,13 +50,16 @@ #define GOTO_TIER_TWO(EXECUTOR) \ do { \ OPT_STAT_INC(traces_executed); \ - jit_func_preserve_none jitted = (EXECUTOR)->jit_side_entry; \ + _PyExecutorObject *_executor = (EXECUTOR); \ + tstate->current_executor = (PyObject *)_executor; \ + jit_func_preserve_none jitted = _executor->jit_side_entry; \ __attribute__((musttail)) return jitted(frame, stack_pointer, tstate); \ } while (0) #undef GOTO_TIER_ONE #define GOTO_TIER_ONE(TARGET) \ do { \ + tstate->current_executor = NULL; \ _PyFrame_SetStackPointer(frame, stack_pointer); \ return TARGET; \ } while (0) |