Skip to content

Commit 8dbbbbc

Browse files
committed
Put call to qstr_init and mp_init_emergency_exc_buf in mp_init.
qstr_init is always called exactly before mp_init, so makes sense to just have mp_init call it. Similarly with mp_init_emergency_exception_buf. Doing this makes the ports simpler and less error prone (ie they can no longer forget to call these).
1 parent 8362bff commit 8dbbbbc

8 files changed

Lines changed: 14 additions & 22 deletions

File tree

bare-arm/main.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,6 @@ void do_str(const char *src) {
5353
}
5454

5555
int main(int argc, char **argv) {
56-
qstr_init();
5756
mp_init();
5857
do_str("print('hello world!', list(x+1 for x in range(10)), end='eol\n')");
5958
mp_deinit();

py/runtime.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,13 @@ const mp_obj_module_t mp_module___main__ = {
7070
};
7171

7272
void mp_init(void) {
73+
qstr_init();
7374
mp_stack_ctrl_init();
7475

76+
#if MICROPY_ENABLE_EMERGENCY_EXCEPTION_BUF
77+
mp_init_emergency_exception_buf();
78+
#endif
79+
7580
// call port specific initialization if any
7681
#ifdef MICROPY_PORT_INIT_FUNC
7782
MICROPY_PORT_INIT_FUNC;

qemu-arm/main.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,6 @@ void do_str(const char *src) {
5353
}
5454

5555
int main(int argc, char **argv) {
56-
qstr_init();
5756
mp_init();
5857
do_str("print('hello world!')");
5958
mp_deinit();

qemu-arm/test_main.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,6 @@ inline void do_str(const char *src) {
5959

6060
int main() {
6161
const char a[] = {"sim"};
62-
qstr_init();
6362
mp_init();
6463
int r = tinytest_main(1, (const char **) a, groups);
6564
mp_deinit();

stmhal/main.c

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -310,9 +310,14 @@ int main(void) {
310310

311311
// GC init
312312
gc_init(&_heap_start, &_heap_end);
313-
#if MICROPY_ENABLE_EMERGENCY_EXCEPTION_BUF
314-
mp_init_emergency_exception_buf();
315-
#endif
313+
314+
// Micro Python init
315+
mp_init();
316+
mp_obj_list_init(mp_sys_path, 0);
317+
mp_obj_list_append(mp_sys_path, MP_OBJ_NEW_QSTR(MP_QSTR_)); // current dir (or base dir of the script)
318+
mp_obj_list_append(mp_sys_path, MP_OBJ_NEW_QSTR(MP_QSTR__slash_flash));
319+
mp_obj_list_append(mp_sys_path, MP_OBJ_NEW_QSTR(MP_QSTR__slash_flash_slash_lib));
320+
mp_obj_list_init(mp_sys_argv, 0);
316321

317322
// Change #if 0 to #if 1 if you want REPL on UART_6 (or another uart)
318323
// as well as on USB VCP
@@ -328,17 +333,7 @@ int main(void) {
328333
pyb_stdio_uart = NULL;
329334
#endif
330335

331-
// Micro Python init
332-
qstr_init();
333-
mp_init();
334-
mp_obj_list_init(mp_sys_path, 0);
335-
mp_obj_list_append(mp_sys_path, MP_OBJ_NEW_QSTR(MP_QSTR_)); // current dir (or base dir of the script)
336-
mp_obj_list_append(mp_sys_path, MP_OBJ_NEW_QSTR(MP_QSTR__slash_flash));
337-
mp_obj_list_append(mp_sys_path, MP_OBJ_NEW_QSTR(MP_QSTR__slash_flash_slash_lib));
338-
mp_obj_list_init(mp_sys_argv, 0);
339-
340336
readline_init();
341-
342337
pin_init();
343338
extint_init();
344339

teensy/main.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -267,7 +267,7 @@ int main(void) {
267267
// GC init
268268
gc_init(&_heap_start, (void*)HEAP_END);
269269

270-
qstr_init();
270+
// Micro Python init
271271
mp_init();
272272

273273
readline_init();

unix-cpy/main.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,6 @@ void do_file(const char *file) {
8787
}
8888

8989
int main(int argc, char **argv) {
90-
qstr_init();
9190
mp_init();
9291

9392
if (argc == 2) {

unix/main.c

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -278,11 +278,7 @@ int main(int argc, char **argv) {
278278
char *heap = malloc(heap_size);
279279
gc_init(heap, heap + heap_size);
280280
#endif
281-
#if MICROPY_ENABLE_EMERGENCY_EXCEPTION_BUF
282-
mp_init_emergency_exception_buf();
283-
#endif
284281

285-
qstr_init();
286282
mp_init();
287283

288284
char *home = getenv("HOME");

0 commit comments

Comments
 (0)