Issue #26588: Optimize tracemalloc_realloc()
No need to remove the old trace if the memory block didn't move.
diff --git a/Modules/_tracemalloc.c b/Modules/_tracemalloc.c
index 3d96860..139b169 100644
--- a/Modules/_tracemalloc.c
+++ b/Modules/_tracemalloc.c
@@ -633,7 +633,12 @@
/* an existing memory block has been resized */
TABLES_LOCK();
- REMOVE_TRACE(ptr);
+
+ /* tracemalloc_add_trace() updates the trace if there is already
+ a trace at address (domain, ptr2) */
+ if (ptr2 != ptr) {
+ REMOVE_TRACE(ptr);
+ }
if (ADD_TRACE(ptr2, new_size) < 0) {
/* Memory allocation failed. The error cannot be reported to