@@ -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
/* *****************************************************************************/
@@ -259,12 +267,12 @@ extern "C" void* $Sub$$realloc(void *ptr, size_t size) {
259
267
free (ptr);
260
268
}
261
269
#else // #ifdef MBED_HEAP_STATS_ENABLED
262
- mem_trace_mutex->lock ();
263
270
new_ptr = $Super$$realloc (ptr, size);
264
- mem_trace_mutex->unlock ();
265
271
#endif // #ifdef MBED_HEAP_STATS_ENABLED
266
272
#ifdef MBED_MEM_TRACING_ENABLED
273
+ mem_trace_mutex->lock ();
267
274
mbed_mem_trace_realloc (new_ptr, ptr, size, MBED_CALLER_ADDR ());
275
+ mem_trace_mutex->unlock ();
268
276
#endif // #ifdef MBED_MEM_TRACING_ENABLED
269
277
return new_ptr;
270
278
}
0 commit comments