https://github.com/python/cpython/commit/caac966b0051578b60b4b07fe341174f25d9f8b1
commit: caac966b0051578b60b4b07fe341174f25d9f8b1
branch: main
author: Chris Eibl <[email protected]>
committer: Fidget-Spinner <[email protected]>
date: 2026-02-14T17:39:10Z
summary:
fix warnings in jit builds (GH-144817)
files:
M Python/jit.c
M Python/optimizer.c
M Python/optimizer_analysis.c
M Python/optimizer_bytecodes.c
M Python/optimizer_cases.c.h
diff --git a/Python/jit.c b/Python/jit.c
index 0791d042710efb..3e0a0aa8bfcc81 100644
--- a/Python/jit.c
+++ b/Python/jit.c
@@ -164,7 +164,7 @@ mark_executable(unsigned char *memory, size_t size)
jit_error("unable to flush instruction cache");
return -1;
}
- int old;
+ DWORD old;
int failed = !VirtualProtect(memory, size, PAGE_EXECUTE_READ, &old);
#else
__builtin___clear_cache((char *)memory, (char *)memory + size);
diff --git a/Python/optimizer.c b/Python/optimizer.c
index 12ef7c3fc0adf5..466729b158d345 100644
--- a/Python/optimizer.c
+++ b/Python/optimizer.c
@@ -1044,7 +1044,7 @@ _PyJit_TryInitializeTracing(
tracer->initial_state.func = (PyFunctionObject *)Py_NewRef(func);
tracer->initial_state.executor = (_PyExecutorObject
*)Py_XNewRef(current_executor);
tracer->initial_state.exit = exit;
- tracer->initial_state.stack_depth = stack_pointer -
_PyFrame_Stackbase(frame);
+ tracer->initial_state.stack_depth = (int)(stack_pointer -
_PyFrame_Stackbase(frame));
tracer->initial_state.chain_depth = chain_depth;
tracer->prev_state.dependencies_still_valid = true;
tracer->prev_state.instr_code = (PyCodeObject
*)Py_NewRef(_PyFrame_GetCode(frame));
@@ -1486,7 +1486,7 @@ stack_allocate(_PyUOpInstruction *buffer,
_PyUOpInstruction *output, int length)
write++;
depth = _PyUop_Caching[uop].entries[depth].output;
}
- return write - output;
+ return (int)(write - output);
}
static int
@@ -2130,6 +2130,7 @@ executor_to_gv(_PyExecutorObject *executor, FILE *out)
assert(inst->format == UOP_FORMAT_JUMP);
_PyUOpInstruction const *exit_inst =
&executor->trace[inst->jump_target];
uint16_t base_exit_opcode = _PyUop_Uncached[exit_inst->opcode];
+ (void)base_exit_opcode;
assert(base_exit_opcode == _EXIT_TRACE || base_exit_opcode ==
_DYNAMIC_EXIT);
exit = (_PyExitData *)exit_inst->operand0;
}
diff --git a/Python/optimizer_analysis.c b/Python/optimizer_analysis.c
index 7bd6970e5fd2dc..c6a513ad220b63 100644
--- a/Python/optimizer_analysis.c
+++ b/Python/optimizer_analysis.c
@@ -398,7 +398,7 @@ get_test_bit_for_bools(void) {
uintptr_t true_bits = (uintptr_t)&_Py_TrueStruct;
#endif
for (int i = 4; i < 8; i++) {
- if ((true_bits ^ false_bits) & (1 << i)) {
+ if ((true_bits ^ false_bits) & (uintptr_t)(1 << i)) {
return i;
}
}
@@ -412,8 +412,8 @@ test_bit_set_in_true(int bit) {
#else
uintptr_t true_bits = (uintptr_t)&_Py_TrueStruct;
#endif
- assert((true_bits ^ ((uintptr_t)&_Py_FalseStruct)) & (1 << bit));
- return true_bits & (1 << bit);
+ assert((true_bits ^ ((uintptr_t)&_Py_FalseStruct)) & (uintptr_t)(1 <<
bit));
+ return true_bits & (uintptr_t)(1 << bit);
}
#ifdef Py_DEBUG
@@ -504,7 +504,7 @@ optimize_uops(
stack_pointer = ctx->frame->stack_pointer;
}
- DUMP_UOP(ctx, "abs", this_instr - trace, this_instr, stack_pointer);
+ DUMP_UOP(ctx, "abs", (int)(this_instr - trace), this_instr,
stack_pointer);
_PyUOpInstruction *out_ptr = ctx->out_buffer.next;
diff --git a/Python/optimizer_bytecodes.c b/Python/optimizer_bytecodes.c
index 7c928e6502a412..2b35628ad99999 100644
--- a/Python/optimizer_bytecodes.c
+++ b/Python/optimizer_bytecodes.c
@@ -109,11 +109,13 @@ dummy_func(void) {
}
op(_STORE_ATTR_INSTANCE_VALUE, (offset/1, value, owner -- o)) {
+ (void)offset;
(void)value;
o = owner;
}
op(_STORE_ATTR_WITH_HINT, (hint/1, value, owner -- o)) {
+ (void)hint;
(void)value;
o = owner;
}
@@ -320,7 +322,8 @@ dummy_func(void) {
r = right;
}
- op(_BINARY_OP_EXTEND, (left, right -- res, l, r)) {
+ op(_BINARY_OP_EXTEND, (descr/4, left, right -- res, l, r)) {
+ (void)descr;
res = sym_new_not_null(ctx);
l = left;
r = right;
@@ -386,7 +389,7 @@ dummy_func(void) {
assert(PyLong_CheckExact(sym_get_const(ctx, sub_st)));
long index = PyLong_AsLong(sym_get_const(ctx, sub_st));
assert(index >= 0);
- int tuple_length = sym_tuple_length(tuple_st);
+ Py_ssize_t tuple_length = sym_tuple_length(tuple_st);
if (tuple_length != -1 && index < tuple_length) {
ADD_OP(_NOP, 0, 0);
}
@@ -951,7 +954,7 @@ dummy_func(void) {
ctx->done = true;
break;
}
- int returning_stacklevel = this_instr->operand1;
+ int returning_stacklevel = (int)this_instr->operand1;
if (ctx->curr_frame_depth >= 2) {
PyCodeObject *expected_code = ctx->frames[ctx->curr_frame_depth -
2].code;
if (expected_code == returning_code) {
@@ -979,7 +982,7 @@ dummy_func(void) {
break;
}
_Py_BloomFilter_Add(dependencies, returning_code);
- int returning_stacklevel = this_instr->operand1;
+ int returning_stacklevel = (int)this_instr->operand1;
if (frame_pop(ctx, returning_code, returning_stacklevel)) {
break;
}
@@ -1001,7 +1004,7 @@ dummy_func(void) {
break;
}
_Py_BloomFilter_Add(dependencies, returning_code);
- int returning_stacklevel = this_instr->operand1;
+ int returning_stacklevel = (int)this_instr->operand1;
if (frame_pop(ctx, returning_code, returning_stacklevel)) {
break;
}
diff --git a/Python/optimizer_cases.c.h b/Python/optimizer_cases.c.h
index 24ae511ebcde31..7faa699a058249 100644
--- a/Python/optimizer_cases.c.h
+++ b/Python/optimizer_cases.c.h
@@ -896,6 +896,7 @@
right = stack_pointer[-1];
left = stack_pointer[-2];
PyObject *descr = (PyObject *)this_instr->operand0;
+ (void)descr;
res = sym_new_not_null(ctx);
l = left;
r = right;
@@ -1046,7 +1047,7 @@
assert(PyLong_CheckExact(sym_get_const(ctx, sub_st)));
long index = PyLong_AsLong(sym_get_const(ctx, sub_st));
assert(index >= 0);
- int tuple_length = sym_tuple_length(tuple_st);
+ Py_ssize_t tuple_length = sym_tuple_length(tuple_st);
if (tuple_length != -1 && index < tuple_length) {
ADD_OP(_NOP, 0, 0);
}
@@ -1271,7 +1272,7 @@
ctx->done = true;
break;
}
- int returning_stacklevel = this_instr->operand1;
+ int returning_stacklevel = (int)this_instr->operand1;
if (ctx->curr_frame_depth >= 2) {
PyCodeObject *expected_code =
ctx->frames[ctx->curr_frame_depth - 2].code;
if (expected_code == returning_code) {
@@ -1351,7 +1352,7 @@
break;
}
_Py_BloomFilter_Add(dependencies, returning_code);
- int returning_stacklevel = this_instr->operand1;
+ int returning_stacklevel = (int)this_instr->operand1;
if (frame_pop(ctx, returning_code, returning_stacklevel)) {
break;
}
@@ -2033,6 +2034,7 @@
owner = stack_pointer[-1];
value = stack_pointer[-2];
uint16_t offset = (uint16_t)this_instr->operand0;
+ (void)offset;
(void)value;
o = owner;
CHECK_STACK_BOUNDS(-1);
@@ -2049,6 +2051,7 @@
owner = stack_pointer[-1];
value = stack_pointer[-2];
uint16_t hint = (uint16_t)this_instr->operand0;
+ (void)hint;
(void)value;
o = owner;
CHECK_STACK_BOUNDS(-1);
@@ -3595,7 +3598,7 @@
break;
}
_Py_BloomFilter_Add(dependencies, returning_code);
- int returning_stacklevel = this_instr->operand1;
+ int returning_stacklevel = (int)this_instr->operand1;
if (frame_pop(ctx, returning_code, returning_stacklevel)) {
break;
}
_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3//lists/python-checkins.python.org
Member address: [email protected]