@@ -46,15 +46,23 @@ typedef struct {
46
46
uint32_t pad;
47
47
} alloc_info_t ;
48
48
49
- static SingletonPtr<PlatformMutex> malloc_stats_mutex;
49
+ # ifdef MBED_MEM_TRACING_ENABLED
50
50
static SingletonPtr<PlatformMutex> mem_trace_mutex;
51
+ #endif
52
+ #ifdef MBED_HEAP_STATS_ENABLED
53
+ static SingletonPtr<PlatformMutex> malloc_stats_mutex;
51
54
static mbed_stats_heap_t heap_stats = {0 , 0 , 0 , 0 , 0 };
55
+ #endif
52
56
53
57
void mbed_stats_heap_get (mbed_stats_heap_t *stats)
54
58
{
59
+ #ifdef MBED_HEAP_STATS_ENABLED
55
60
malloc_stats_mutex->lock ();
56
61
memcpy (stats, &heap_stats, sizeof (mbed_stats_heap_t ));
57
62
malloc_stats_mutex->unlock ();
63
+ #else
64
+ memset (stats, 0 , sizeof (mbed_stats_heap_t ));
65
+ #endif
58
66
}
59
67
60
68
/* *****************************************************************************/
@@ -260,12 +268,12 @@ extern "C" void* $Sub$$realloc(void *ptr, size_t size) {
260
268
free (ptr);
261
269
}
262
270
#else // #ifdef MBED_HEAP_STATS_ENABLED
263
- mem_trace_mutex->lock ();
264
271
new_ptr = $Super$$realloc (ptr, size);
265
- mem_trace_mutex->unlock ();
266
272
#endif // #ifdef MBED_HEAP_STATS_ENABLED
267
273
#ifdef MBED_MEM_TRACING_ENABLED
274
+ mem_trace_mutex->lock ();
268
275
mbed_mem_trace_realloc (new_ptr, ptr, size, MBED_CALLER_ADDR ());
276
+ mem_trace_mutex->unlock ();
269
277
#endif // #ifdef MBED_MEM_TRACING_ENABLED
270
278
return new_ptr;
271
279
}
0 commit comments