py/objcell: Make cell get/set funcs static-inline to reduce code size.
Change in code size is:
bare-arm: -36 -0.062%
minimal x86: -92 -0.056%
unix x64: -72 -0.014%
unix nanbox: -276 -0.060%
stm32: +0 +0.000% PYBV10
stm32: -40 +0.021% NUCLEO_L073RZ
cc3200: -16 -0.009%
esp8266: +176 +0.025% GENERIC
esp32: -28 -0.002% GENERIC
mimxrt: -56 -0.016% TEENSY40
renesas-ra: +0 +0.000% RA6M2_EK
nrf: +0 +0.000% pca10040
rp2: -64 -0.013% PICO
samd: -32 -0.023% ADAFRUIT_ITSYBITSY_M4_EXPRESS
Ports like stm32 that build the VM with -O3 have no change because the
savings from the inlining are offset by additional gcc performance
optimisations in the VM.
Signed-off-by: Damien George <damien@micropython.org>
This commit is contained in:
15
py/objcell.c
15
py/objcell.c
@@ -26,21 +26,6 @@
|
||||
|
||||
#include "py/obj.h"
|
||||
|
||||
typedef struct _mp_obj_cell_t {
|
||||
mp_obj_base_t base;
|
||||
mp_obj_t obj;
|
||||
} mp_obj_cell_t;
|
||||
|
||||
mp_obj_t mp_obj_cell_get(mp_obj_t self_in) {
|
||||
mp_obj_cell_t *self = MP_OBJ_TO_PTR(self_in);
|
||||
return self->obj;
|
||||
}
|
||||
|
||||
void mp_obj_cell_set(mp_obj_t self_in, mp_obj_t obj) {
|
||||
mp_obj_cell_t *self = MP_OBJ_TO_PTR(self_in);
|
||||
self->obj = obj;
|
||||
}
|
||||
|
||||
#if MICROPY_ERROR_REPORTING == MICROPY_ERROR_REPORTING_DETAILED
|
||||
STATIC void cell_print(const mp_print_t *print, mp_obj_t o_in, mp_print_kind_t kind) {
|
||||
(void)kind;
|
||||
|
||||
Reference in New Issue
Block a user