diff options
Diffstat (limited to 'Python/bytecodes.c')
-rw-r--r-- | Python/bytecodes.c | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/Python/bytecodes.c b/Python/bytecodes.c index e1a6a25..f53ddae 100644 --- a/Python/bytecodes.c +++ b/Python/bytecodes.c @@ -2366,16 +2366,8 @@ dummy_func( _PyExecutorObject *executor = (_PyExecutorObject *)code->co_executors->executors[oparg&255]; if (executor->vm_data.valid) { Py_INCREF(executor); - if (executor->execute == _PyUOpExecute) { - current_executor = (_PyUOpExecutorObject *)executor; - GOTO_TIER_TWO(); - } - next_instr = executor->execute(executor, frame, stack_pointer); - frame = tstate->current_frame; - if (next_instr == NULL) { - goto resume_with_error; - } - stack_pointer = _PyFrame_GetStackPointer(frame); + current_executor = (_PyUOpExecutorObject *)executor; + GOTO_TIER_TWO(); } else { code->co_executors->executors[oparg & 255] = NULL; @@ -4066,6 +4058,16 @@ dummy_func( DEOPT_IF(!current_executor->base.vm_data.valid); } + op(_LOAD_CONST_INLINE_BORROW, (ptr/4 -- value)) { + value = ptr; + } + + /* Internal -- for testing executors */ + op(_INTERNAL_INCREMENT_OPT_COUNTER, (opt --)) { + _PyCounterOptimizerObject *exe = (_PyCounterOptimizerObject *)opt; + exe->count++; + } + // END BYTECODES // |