esp32: Use MP_REGISTER_ROOT_POINTER().

This uses MP_REGISTER_ROOT_POINTER() to register all root pointers in the
esp32 port.

Signed-off-by: David Lechner <david@pybricks.com>
This commit is contained in:
David Lechner 2022-07-01 14:41:27 -05:00 committed by Damien George
parent 226e969ad3
commit b63282c361
5 changed files with 8 additions and 8 deletions

View File

@ -840,4 +840,6 @@ const mp_obj_type_t machine_i2s_type = {
.locals_dict = (mp_obj_dict_t *)&machine_i2s_locals_dict,
};
MP_REGISTER_ROOT_POINTER(struct _machine_i2s_obj_t *machine_i2s_obj[I2S_NUM_MAX]);
#endif // MICROPY_PY_MACHINE_I2S

View File

@ -729,3 +729,5 @@ STATIC const mp_obj_type_t machine_pin_irq_type = {
.call = machine_pin_irq_call,
.locals_dict = (mp_obj_dict_t *)&machine_pin_irq_locals_dict,
};
MP_REGISTER_ROOT_POINTER(mp_obj_t machine_pin_irq_handler[40]);

View File

@ -272,3 +272,5 @@ const mp_obj_type_t machine_timer_type = {
.make_new = machine_timer_make_new,
.locals_dict = (mp_obj_t)&machine_timer_locals_dict,
};
MP_REGISTER_ROOT_POINTER(struct _machine_timer_obj_t *machine_timer_obj_head);

View File

@ -265,3 +265,5 @@ void *esp_native_code_commit(void *buf, size_t len, void *reloc) {
memcpy(p, buf, len);
return p;
}
MP_REGISTER_ROOT_POINTER(mp_obj_t native_code_pointers);

View File

@ -136,14 +136,6 @@
#define MP_STATE_PORT MP_STATE_VM
struct _machine_timer_obj_t;
#define MICROPY_PORT_ROOT_POINTERS \
mp_obj_t machine_pin_irq_handler[40]; \
struct _machine_timer_obj_t *machine_timer_obj_head; \
struct _machine_i2s_obj_t *machine_i2s_obj[I2S_NUM_MAX]; \
mp_obj_t native_code_pointers; \
// type definitions for the specific machine
#define MICROPY_MAKE_POINTER_CALLABLE(p) ((void *)((mp_uint_t)(p)))