Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions Modules/_remote_debugging/binary_io_reader.c
Original file line number Diff line number Diff line change
Expand Up @@ -365,7 +365,7 @@ static inline int
reader_parse_string_table(BinaryReader *reader, const uint8_t *data, size_t file_size)
{
if (reader_validate_count("string", reader->strings_count,
file_size - reader->string_table_offset,
file_size - (size_t)reader->string_table_offset,
MIN_STRING_ENTRY_SIZE) < 0) {
return -1;
}
Expand All @@ -376,7 +376,7 @@ reader_parse_string_table(BinaryReader *reader, const uint8_t *data, size_t file
return -1;
}

size_t offset = reader->string_table_offset;
size_t offset = (size_t)reader->string_table_offset;
for (uint32_t i = 0; i < reader->strings_count; i++) {
size_t prev_offset = offset;
uint32_t str_len = decode_varint_u32(data, &offset, file_size);
Expand Down Expand Up @@ -411,7 +411,7 @@ reader_parse_frame_table(BinaryReader *reader, const uint8_t *data, size_t file_
#endif

if (reader_validate_count("frame", reader->frames_count,
file_size - reader->frame_table_offset,
file_size - (size_t)reader->frame_table_offset,
MIN_FRAME_ENTRY_SIZE) < 0) {
return -1;
}
Expand All @@ -423,7 +423,7 @@ reader_parse_frame_table(BinaryReader *reader, const uint8_t *data, size_t file_
return -1;
}

size_t offset = reader->frame_table_offset;
size_t offset = (size_t)reader->frame_table_offset;
for (uint32_t i = 0; i < reader->frames_count; i++) {
FrameEntry *frame = &reader->frames[i];
size_t prev_offset;
Expand Down Expand Up @@ -694,7 +694,7 @@ binary_reader_open(PyObject *path)
#endif
} else {
reader->sample_data = data + FILE_HEADER_PLACEHOLDER_SIZE;
reader->sample_data_size = reader->string_table_offset - FILE_HEADER_PLACEHOLDER_SIZE;
reader->sample_data_size = (size_t)reader->string_table_offset - FILE_HEADER_PLACEHOLDER_SIZE;
}

/* Parse string and frame tables */
Expand Down Expand Up @@ -871,7 +871,7 @@ decode_stack_suffix(ReaderThreadState *ts, const uint8_t *data,
return -1;
}
}
ts->current_stack_depth = final_depth;
ts->current_stack_depth = (size_t)final_depth;
return 0;
}

Expand Down Expand Up @@ -916,7 +916,7 @@ decode_stack_pop_push(ReaderThreadState *ts, const uint8_t *data,
return -1;
}
}
ts->current_stack_depth = final_depth;
ts->current_stack_depth = (size_t)final_depth;
return 0;
}

Expand Down Expand Up @@ -1262,7 +1262,7 @@ binary_reader_replay(BinaryReader *reader, PyObject *collector, PyObject *progre
reader->stats.total_samples += count;

/* Progress callback after batch */
if (replayed % PROGRESS_CALLBACK_INTERVAL < count) {
if ((uint64_t)replayed % PROGRESS_CALLBACK_INTERVAL < (uint64_t)count) {
if (invoke_progress_callback(progress_callback, replayed, reader->sample_count) < 0) {
return -1;
}
Expand Down
6 changes: 3 additions & 3 deletions Modules/_remote_debugging/frames.c
Original file line number Diff line number Diff line change
Expand Up @@ -465,7 +465,7 @@ clear_last_profiled_frames(RemoteUnwinderObject *unwinder)
uintptr_t tstate_addr;
if (_Py_RemoteDebug_PagedReadRemoteMemory(
&unwinder->handle,
current_interp + unwinder->debug_offsets.interpreter_state.threads_head,
current_interp + (uintptr_t)unwinder->debug_offsets.interpreter_state.threads_head,
sizeof(void*),
&tstate_addr) < 0) {
// Non-fatal: just skip clearing
Expand All @@ -486,7 +486,7 @@ clear_last_profiled_frames(RemoteUnwinderObject *unwinder)
// Move to next thread
if (_Py_RemoteDebug_PagedReadRemoteMemory(
&unwinder->handle,
tstate_addr + unwinder->debug_offsets.thread_state.next,
tstate_addr + (uintptr_t)unwinder->debug_offsets.thread_state.next,
sizeof(void*),
&tstate_addr) < 0) {
PyErr_Clear();
Expand All @@ -497,7 +497,7 @@ clear_last_profiled_frames(RemoteUnwinderObject *unwinder)
// Move to next interpreter
if (_Py_RemoteDebug_PagedReadRemoteMemory(
&unwinder->handle,
current_interp + unwinder->debug_offsets.interpreter_state.next,
current_interp + (uintptr_t)unwinder->debug_offsets.interpreter_state.next,
sizeof(void*),
&current_interp) < 0) {
PyErr_Clear();
Expand Down
4 changes: 2 additions & 2 deletions Modules/_remote_debugging/gc_stats.c
Original file line number Diff line number Diff line change
Expand Up @@ -88,8 +88,8 @@ get_gc_stats_from_interpreter_state(RuntimeOffsets *offsets,

uintptr_t gc_stats_addr = 0;
uintptr_t gc_stats_pointer_address = interpreter_state_addr
+ offsets->debug_offsets.interpreter_state.gc
+ offsets->debug_offsets.gc.generation_stats;
+ (uintptr_t)offsets->debug_offsets.interpreter_state.gc
+ (uintptr_t)offsets->debug_offsets.gc.generation_stats;
if (_Py_RemoteDebug_ReadRemoteMemory(&offsets->handle,
gc_stats_pointer_address,
sizeof(gc_stats_addr),
Expand Down
2 changes: 1 addition & 1 deletion Modules/_remote_debugging/object_reading.c
Original file line number Diff line number Diff line change
Expand Up @@ -279,7 +279,7 @@ read_py_long(
}

// Calculate how many digits fit inline in our local buffer
Py_ssize_t ob_digit_offset = unwinder->debug_offsets.long_object.ob_digit;
Py_ssize_t ob_digit_offset = (Py_ssize_t)unwinder->debug_offsets.long_object.ob_digit;
Py_ssize_t inline_digits_space = SIZEOF_LONG_OBJ - ob_digit_offset;
Py_ssize_t max_inline_digits = inline_digits_space / (Py_ssize_t)sizeof(digit);

Expand Down
4 changes: 2 additions & 2 deletions Modules/_remote_debugging/threads.c
Original file line number Diff line number Diff line change
Expand Up @@ -447,9 +447,9 @@ unwind_stack_for_thread(
unwinder->debug_offsets.thread_state.current_exception +
sizeof(uintptr_t));
uintptr_t exc_state_addr =
*current_tstate + unwinder->debug_offsets.thread_state.exc_state;
*current_tstate + (uintptr_t)unwinder->debug_offsets.thread_state.exc_state;
uintptr_t exc_value_offset =
unwinder->debug_offsets.err_stackitem.exc_value;
(uintptr_t)unwinder->debug_offsets.err_stackitem.exc_value;
uintptr_t previous_item_offset =
exc_value_offset + sizeof(uintptr_t);

Expand Down
Loading