summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorDavid Lechner <david@pybricks.com>2022-07-02 15:05:41 -0500
committerDamien George <damien@micropython.org>2022-07-18 13:52:01 +1000
commit68f46342aa4c20f263cc688cc86d03d03207921e (patch)
tree5d6579cf986dc51b3f8eb4203a74dfc5d831da68
parent7e4b205cb00013b272e4cf9fac128866bf0e1f21 (diff)
downloadmicropython-68f46342aa4c20f263cc688cc86d03d03207921e.tar.gz
micropython-68f46342aa4c20f263cc688cc86d03d03207921e.zip
shared/runtime/pyexec: Use MP_REGISTER_ROOT_POINTER().
This uses MP_REGISTER_ROOT_POINTER() to register repl_line instead of using a conditional inside of mp_state_vm_t. Signed-off-by: David Lechner <david@pybricks.com>
-rw-r--r--ports/minimal/Makefile2
-rw-r--r--ports/powerpc/Makefile2
-rw-r--r--py/mpstate.h4
-rw-r--r--shared/runtime/pyexec.c2
4 files changed, 4 insertions, 6 deletions
diff --git a/ports/minimal/Makefile b/ports/minimal/Makefile
index ac74925b57..4a17df6803 100644
--- a/ports/minimal/Makefile
+++ b/ports/minimal/Makefile
@@ -68,7 +68,7 @@ SRC_C += $(SRC_MOD)
SRC_CXX += $(SRC_MOD_CXX)
-SRC_QSTR += shared/readline/readline.c
+SRC_QSTR += shared/readline/readline.c shared/runtime/pyexec.c
SRC_QSTR += $(SRC_MOD) $(SRC_MOD_CXX)
OBJ += $(PY_CORE_O) $(addprefix $(BUILD)/, $(SRC_C:.c=.o))
diff --git a/ports/powerpc/Makefile b/ports/powerpc/Makefile
index f1ebd6764c..12ae485bb8 100644
--- a/ports/powerpc/Makefile
+++ b/ports/powerpc/Makefile
@@ -42,7 +42,7 @@ SRC_C = \
shared/runtime/stdout_helpers.c \
$(BUILD)/_frozen_mpy.c \
-SRC_QSTR += shared/readline/readline.c
+SRC_QSTR += shared/readline/readline.c shared/runtime/pyexec.c
OBJ = $(PY_CORE_O)
OBJ += $(addprefix $(BUILD)/, $(SRC_C:.c=.o))
diff --git a/py/mpstate.h b/py/mpstate.h
index b51e72cd84..67146d282b 100644
--- a/py/mpstate.h
+++ b/py/mpstate.h
@@ -198,10 +198,6 @@ typedef struct _mp_state_vm_t {
// root pointers for extmod
- #if MICROPY_REPL_EVENT_DRIVEN
- vstr_t *repl_line;
- #endif
-
#if MICROPY_PY_OS_DUPTERM
mp_obj_t dupterm_objs[MICROPY_PY_OS_DUPTERM];
#endif
diff --git a/shared/runtime/pyexec.c b/shared/runtime/pyexec.c
index 2763319c01..2c9f1e80ff 100644
--- a/shared/runtime/pyexec.c
+++ b/shared/runtime/pyexec.c
@@ -488,6 +488,8 @@ int pyexec_event_repl_process_char(int c) {
return res;
}
+MP_REGISTER_ROOT_POINTER(vstr_t * repl_line);
+
#else // MICROPY_REPL_EVENT_DRIVEN
int pyexec_raw_repl(void) {