From fa8ebb1390549314485fc26e586573cff526807a Mon Sep 17 00:00:00 2001 From: David Lechner Date: Fri, 17 Mar 2023 13:16:06 -0500 Subject: [PATCH] py/obj: Add MP_NOINLINE to mp_obj_malloc_helper. As the comment in py/obj.h says: > Implementing this as a call rather than inline saves 8 bytes per usage. So in order to get this savings, we need to tell the compiler to never inline the function. Signed-off-by: David Lechner --- py/obj.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/py/obj.c b/py/obj.c index eb17308fed..3b0fd171cc 100644 --- a/py/obj.c +++ b/py/obj.c @@ -38,7 +38,7 @@ #include "py/stream.h" // for mp_obj_print // Allocates an object and also sets type, for mp_obj_malloc{,_var} macros. -void *mp_obj_malloc_helper(size_t num_bytes, const mp_obj_type_t *type) { +MP_NOINLINE void *mp_obj_malloc_helper(size_t num_bytes, const mp_obj_type_t *type) { mp_obj_base_t *base = (mp_obj_base_t *)m_malloc(num_bytes); base->type = type; return base;