Fix warnings on main (GH-145104)

This commit is contained in:
Chris Eibl 2026-02-22 12:02:15 +01:00 committed by GitHub
parent faea32b729
commit 5944a539b9
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 20 additions and 10 deletions

View file

@ -40,6 +40,7 @@
#define _PyExecutorObject_CAST(op) ((_PyExecutorObject *)(op))
#ifndef Py_GIL_DISABLED
static bool
has_space_for_executor(PyCodeObject *code, _Py_CODEUNIT *instr)
{
@ -110,6 +111,7 @@ insert_executor(PyCodeObject *code, _Py_CODEUNIT *instr, int index, _PyExecutorO
instr->op.code = ENTER_EXECUTOR;
instr->op.arg = index;
}
#endif // Py_GIL_DISABLED
static _PyExecutorObject *
make_executor_from_uops(_PyThreadStateImpl *tstate, _PyUOpInstruction *buffer, int length, const _PyBloomFilter *dependencies);
@ -128,7 +130,6 @@ _PyOptimizer_Optimize(
_PyInterpreterFrame *frame, PyThreadState *tstate)
{
_PyThreadStateImpl *_tstate = (_PyThreadStateImpl *)tstate;
int chain_depth = _tstate->jit_tracer_state->initial_state.chain_depth;
PyInterpreterState *interp = _PyInterpreterState_GET();
if (!interp->jit) {
// gh-140936: It is possible that interp->jit will become false during
@ -152,6 +153,7 @@ _PyOptimizer_Optimize(
// make progress in order to avoid infinite loops or excessively-long
// side-exit chains. We can only insert the executor into the bytecode if
// this is true, since a deopt won't infinitely re-enter the executor:
int chain_depth = _tstate->jit_tracer_state->initial_state.chain_depth;
chain_depth %= MAX_CHAIN_DEPTH;
bool progress_needed = chain_depth == 0;
PyCodeObject *code = (PyCodeObject *)_tstate->jit_tracer_state->initial_state.code;

View file

@ -1641,7 +1641,8 @@ dummy_func(void) {
}
op(_GUARD_IP__PUSH_FRAME, (ip/4 --)) {
stack_pointer = sym_set_stack_depth(this_instr->operand1, stack_pointer);
(void)ip;
stack_pointer = sym_set_stack_depth((int)this_instr->operand1, stack_pointer);
// TO DO
// Normal function calls to known functions
// do not need an IP guard.
@ -1659,24 +1660,27 @@ dummy_func(void) {
}
op(_GUARD_IP_YIELD_VALUE, (ip/4 --)) {
(void)ip;
if (ctx->frame->caller) {
REPLACE_OP(this_instr, _NOP, 0, 0);
}
stack_pointer = sym_set_stack_depth(this_instr->operand1, stack_pointer);
stack_pointer = sym_set_stack_depth((int)this_instr->operand1, stack_pointer);
}
op(_GUARD_IP_RETURN_VALUE, (ip/4 --)) {
(void)ip;
if (ctx->frame->caller) {
REPLACE_OP(this_instr, _NOP, 0, 0);
}
stack_pointer = sym_set_stack_depth(this_instr->operand1, stack_pointer);
stack_pointer = sym_set_stack_depth((int)this_instr->operand1, stack_pointer);
}
op(_GUARD_IP_RETURN_GENERATOR, (ip/4 --)) {
(void)ip;
if (ctx->frame->caller) {
REPLACE_OP(this_instr, _NOP, 0, 0);
}
stack_pointer = sym_set_stack_depth(this_instr->operand1, stack_pointer);
stack_pointer = sym_set_stack_depth((int)this_instr->operand1, stack_pointer);
}

View file

@ -4159,34 +4159,38 @@
case _GUARD_IP__PUSH_FRAME: {
PyObject *ip = (PyObject *)this_instr->operand0;
stack_pointer = sym_set_stack_depth(this_instr->operand1, stack_pointer);
(void)ip;
stack_pointer = sym_set_stack_depth((int)this_instr->operand1, stack_pointer);
break;
}
case _GUARD_IP_YIELD_VALUE: {
PyObject *ip = (PyObject *)this_instr->operand0;
(void)ip;
if (ctx->frame->caller) {
REPLACE_OP(this_instr, _NOP, 0, 0);
}
stack_pointer = sym_set_stack_depth(this_instr->operand1, stack_pointer);
stack_pointer = sym_set_stack_depth((int)this_instr->operand1, stack_pointer);
break;
}
case _GUARD_IP_RETURN_VALUE: {
PyObject *ip = (PyObject *)this_instr->operand0;
(void)ip;
if (ctx->frame->caller) {
REPLACE_OP(this_instr, _NOP, 0, 0);
}
stack_pointer = sym_set_stack_depth(this_instr->operand1, stack_pointer);
stack_pointer = sym_set_stack_depth((int)this_instr->operand1, stack_pointer);
break;
}
case _GUARD_IP_RETURN_GENERATOR: {
PyObject *ip = (PyObject *)this_instr->operand0;
(void)ip;
if (ctx->frame->caller) {
REPLACE_OP(this_instr, _NOP, 0, 0);
}
stack_pointer = sym_set_stack_depth(this_instr->operand1, stack_pointer);
stack_pointer = sym_set_stack_depth((int)this_instr->operand1, stack_pointer);
break;
}